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

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 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值