redis五种数据类型
字符串(String)
setnx test pxc 如果key已经存在不做任何设置
expire test 10 10秒后过期
incr num 将指定的key的value递增1,如果不存在则将值初始化为0,然后
加1 decr减1拓展:incrby num 5 num的值加5
append num 5 如果num值是3,返回35,相当于在3后面加了5如果num
不存在则创建一个5 num=5
字符串列表(List)
- lpush mylist a b c 从左侧插入rpush从右侧插入
lrange mylist 0 2 开始,结束,可以是负数 0 -1表示到最后一个元素
lpop mylist 左端弹出 不存在返回 rpop右端弹出
llen mylist获取集合长度
lpushx mylist3 没有mylist3就不会插入
lrem mylist 2 3 从头到尾删除两个三 -2 3表示从尾到头删除两个3
lset mylist 3 mmm 在第三个元素后加一个值,根据下表插入
linsert mylist before b e 在b前面插入e,根据元素插入
rpoplpush mylist2 mylist3 将mylist2的队尾变为mylist3的队首 ,常用于消息队列的备份
有序字符串集合(sorted set)
- zadd mysort 70 zhangsan 80 lisi 90 wangwu 根据70,80,90这些分数会自动排序
- zadd mysort 100 zhangsang 可以改变张三的分数
- zscore mysort zs 获得分数
- zcard mysort 获得元素的个数
- zrem mysort tom zhangsan
- zrange mysort 0 -1 withscores 显示所有内容和分数
- zrevrange mysort 0 -1 withscores 从大到小的排名
- zremrangebyrank mysort 0 4 按范围删除
- zremrangebyscore mysort 80 100 按分数范围删除
- zcount mysort 80 90 80到90之间的有几个 用于游戏积分排行榜,或者构建索引数据
哈希(hash)
- hset可以存单个键值对
- hset myhash username pxc
- hset myhash age 20
- hmset可以存多个键值对
- hmset myhash2 username Ethan age 20
- hget myhash username 获取单个值
- hmget myhash username age 获取多个值
- hgetall myhash 获取所有值
- hdel myhash2 username age 删除多个属性
- del myhash2 删除整个集合
- incrby myhash age 5 给myhash中的age的值加5
- hexist myhash age 判断age是否存在,存在返回1,不存在返回0
- hlen myhash 得到键值对的个数
- hkeys myhash 获得所有的key
- hvalues myhash 获得所有的值
字符串集合(set)不允许出现重复的元素
- sadd myset a b c 添加abc
- srem myset a b 删除ab
- smembers myset 查看
- sismember myset a 查询a是否在集合中,在返回1,不存在返回0
- sdiff mya1 myb1 求两个集合的差值运算
- sdiffstore myset mya1 myb1 求两个集合的差值运算并将值存入另外一个集合
- sinter mya2 myb2 求两个集合的交集
- sinterstore myset mya1 myb1 求两个集合的交集并将值存入另外一个集合
- sunio mya3 myb3 求两个集合的并集
- suniostore myset mya1 myb1 求两个集合的并集算并将值存入另外一个集合
- scard myset 得到集合中保存内容的数量
- srandmember myset 随机返回一个成员
keys的通用操作
- keys的通用操作
- keys * 查看所有key
- exists key 查看指定的key是否存在
- rename key newkey 重命名key
- expire test 10 10秒后过期
- ttl key 查看超时的所剩时间
- type key 查看类型