您的位置:首页 > 数据库 > Redis

Redis 基础知识(5种数据类型基本操作)

2017-07-15 00:48 1106 查看
1、字符串

set key1value1 //value1不仅可以是字符串,也可以是整数或者浮点数。

get key1 //获取值

del key1 //删除值

既然value1可以为数值型,因此可以对key1进行类似计数器的运算

incr key1 //将存储的值自增1

decr key1 //将存储的值减去1

incrby key1amount //将存储的值加上整数amount

decrby key1amount //将存储的值减去整数amount

注意:

(1)如果是对值为字符串进行计数器运算,那么将返回一个错误码。

(2)对于不存在的key1,也可以执行计数运算,默认初始值为0。

2、列表

有点像双向队列

lpush listKeyvalue1 //向listKey列左侧中插入value1

lpop listKey //将listKey列左侧弹出一个值

当然相应的还有rpush和rpop

lrang listKey0 -1 //获取listKey中从第一个(0表示)到最后一个的数据(-1)

lindexlistKey 1 //获取listKey的第二个数据(因为0是表示第一个)

ltrim listKey2 -1 //获取listKey从第3个到最后一个的数据(截取部分数据)

3、集合

集合中存放的数据格式与列表类似,只是集合中的数据不允许重复

sadd setKeyvalue1 value2 //将value1、value2加入集合setKey中

srem setKeyvalue1 //将value1移除集合setKey

scard setKey //获取集合setKey中的元素数量

sismember setKey value1 //判断value1是否是集合setKey中的元素

smembers setKey //返回集合中所有元素

srandmember setKey [count] //从集合setKey中随机返回一个或多个元素,count为正数时不允许重复,当为负数时可以重复

spop setKey //随机从集合setKey中移除一个元素,并返回被移除的元素

smove setKey1setKey2 value1 //将元素value1从集合setKey1移动到setKey2

Redis中集合的另一个常用的功能是实现:交并差(注意:只能在单点中执行,集群该功能失效

sdiff setKey1setKey2 setKey3 //返回setKey1与setKey2、setKey3的差集(所谓差集,即存在于集合setKey1,但是不存在于集合setKey2和集合setKey3中)

sdiffstore destKey setKey1 setKey2 setKey2 //将上述运算的差集存储在集合destKey中

sinter setKey1 setKey2 setKey3 //返回所有集合的交集

sinterstore destKey setKey1 setKey2 setKey3 //将上述集合的交集存储在集合destKey中

sunion setKey1 setKey2 setKey3 //返回所有集合的并集

sunionstore destKey setKey1 setKey2 setKey3 //将上述集合的并集存储在集合destKey中

4、散列

散列,即将上述的列表中的value值改为map,即value值进一步拆分为key和value。

hset hashKey1key1 value1 //将key为key1,value为value1,设置到散列hashKey1中

hget hashKey1key1 //获取散列hashKey1,key为key1的值

hgetall hashKey1 //获取散列hashKey1中所有的key以及其对应的value值

hdel hashKey1key1 //删除hashKey1中key为key1的字段

hlen hashKey1 //返回散列hashKey1包含的键值对的数量

hexists hashKey1 key1 //检查给定键是否存在于散列中

5、有序集合

集合和有序集合的区别:

集合是有序集合的一个特例,其对应的值默认是1,从集合可以和有序集合进行交并差即可看出。

zadd sortSet value1 key1 value2 key2 //添加有序集合sortListKey, key为key1,值为value1;key为key2,值为value2(有序集合会根据value值进行排序的,排序为从小到大,当值相同时,会根据key进行字典排序)

注意:

1、value值必须为浮点数,否则会报:

(error) ERR value is not a valid float

2、之所以叫做有序集合,是因为其中的有序集合的key也是不允许重复的,比如:

zadd zlist 455 tom 34 tom //最终只会添加tom的值为34

3、是value在前,key在后

zrem sortSet key1 //移除有序集合sortListKey中key为key1的字段

zcard sortSet //返回有序集合中包含的成员的个数

zincrby sortSet increment key1 //将有序集合sortListKey中key1的权重加上increment

zcount sortSet min max //返回分值介于min和max个数

zrank sortSet key1 //返回成员key1在有序集合中排名(排名按照分值从小到大)

zrevrank sortSet key1 //返回key1的排名(排名是按照分值从大到小)

zscore sortSet key1 //返回成员key1的分值

zrange sortSet start stop [WITHSCORES] //返回排名介于start和stop之间的成员

zrangebyscore sortSet min max [WITHSCORES] //返回分值介于min和max之间成员(按分值从小到大返回)

zrevrangebyscore sortSet max min [WITHSCORES] //与上面的类似,只是返回的分值介于max和min之间(分值从大到小返回)

zremrangbyrank sortSet start stop //移除排名介于start和stop之间的成员

zremrangbyscore sortSet min max //移除分值介于min和max之间的成员

zinterstore destSet
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: