redis键值对的数据类型和操作

**

redis键值对的数据类型和操作

对key的增删改查

redis是以key和value键值对的类型
 set key value [ex nx xx]
    ex  就是过期时间(秒)
    nx  不存在则创建
    xx  存在则创建     根据key得到value值
 setnx  不存在则创建
 setex  设置过期时间(秒)
    setex key value 10(过期时间)
 mset   批量添加
    met key1 value1 key2 value2 ...
 mget   批量获取
    get key1 key2 key3 ...
 getset key value   设置新值返回旧值
 incr key       对key的值进行加一(只对整型)
 decr key       对key的值进行减一(只对整型)
 incrby key 5   指定增加值(5)
 decrby key 5   指定减少值(5)
 keys d*		//列出key名是以d开头的key
 keys d???      //列出key名以d开头的四位的key
 rename key new_key    //重定义key名
 flushdb   //清空当前库的key
 flushall  //清空所有库的key
 getrange key 0 5  对key进行切片操作,返回下标05的(0-1 表示所有)
 setrange key 5 value 将key中的从下标为5开始替换,替换相应个数的值

根据不同的value类型进行创建键值对
value的数据类型有:
1、string
2、hash
3、list
4、set
5、sroted set
hash:哈希值

key可以绑定一些关联性较强的数据如:key:{xxx, xx,xx}
设置值:
hset key field value
    如: hset user name tang  //返回值为添加的个数
    hset user home changsha
    hget key
        如: hget user name   //获取key(user)的name的值
hmget key field1 field2 ...   //获取多个
hgetall key   //获取key的所有值
hmset key field1 vaule1 field2 value2   //插入多个
hkeys key   //获取key的所有field
hvals key   //获取所有的value值
hdel key field  //删除key中的一个field
hlen key   //获取key中有多少键值对
hexists key field

list:列表

lpush key value value     //返回长度、
lpushx key vaule value   //向列表中追加值(key存在时才会成功),返回长度
llen key                //获取列表长度
lrange key start end    //如: lrange key 0 -1 (获取列表内容,以下标)
linset key before 参照 new_value  //插入
lset key 0 new_value    //更新下标为0 的value值
lrem key 2 xxxx         //移除最前面的2个相同的xxx(lrem为移除相同的)
lpop key                //删除并返回列表的第一个元素
lindex key 2            //根据下标取出对应的元素

set;类似python中的set(字典),不允许重复的元素

sadd key value value ...   //添加元素
scard key                  //获取长度
smembers key                //列出所有的元素(无序不重复)
sinter key1 key1             //查看两个key的交集(两个key相同的)
sdiff key1 key2             //查看两个key的差集(两个key不同的)
sunion key1 key2            //查看两个key的并集
sinterstore key1 key2       //
sismember key member        //判断member是否时key中的元素
smove key1 key2 member      //将key1的memeber移动到key2中,返回移动的member个数
spop key                    //随机删除key中的一个元素
srem key member             //指定删除元素member
srandmember key             //随机获取一个元素

sorted set:按照score进行升序排序

zadd key [NX|XX] [CH] [INCR] score member [score member ...]
zadd key score1 member1 score2 member2 ...   //创建
zadd key nx score member     //当不存在则创建
zadd key xx score member     //当存在则创建
zadd key xx incr score member //当存在则在原来的基础上增加score
zcard key                   //查看长度
zrange key 0 -1             //返回key下标0到-1的值
zrevrange key 0 1 withscore   //取出score最大的两个
zrangebyscore key 100 400      //升序取出socer的值在100到400之间的member
zrevrangebyscore key 400 100  //降序取出socer的值在100到400之间的member
zrangebyscore key (200 inf withscore    //升序取出score大于200的member
zrevrangebyscore key (200 inf withscore //降序取出score小于200的member
zrem key member                //删除指定member
zremrangebyscore key 100 200    //删除score在100到200之间的member
zinterstore key3 2 key1 key2    //key3为目标,将key1和key2 的交集存到key3
zunionstore key3 2 key1 key2    //将并集存放到key3
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值