Redis的数据结构:
一:String(字符串)
set+变量名+变量值就可以存储数据,通过get+变量名获取对应的变量值
del+变量名,就可以删除对应的变量,当再次获取时会显示控制
若我们将一个变量赋予为1,系统会认其为String类型,在使用incr (加一操作时)又会转换为Integer类型
若使用incr在一个未定义过的变量上,系统会将变量赋值0在进行加一操作
decr的使用和incr一样。
incrby +变量名+n :就是在该数字的基础上加n (decrby使用如上)
append+变量名+str
二.哈希
hset+变量名+key+value存储
hget+变量名+key获取值
一个变量名下可以有多个key-value
hmset +变量名+多个key-value
hgetall 获取该变量名下的所有key-value
hdel +变量名 删除操作
hincrby +变量名+key+n 加n操作
hexists 判断是否存在某个key
hlen 获取属性个数
hkeys 获取所有key
hvals 获取所有的value
三.list
两端添加
lpush list从左端添加元素
lrange list +firstindex +secondindex
从左端输出从firstindex 到secondindex的元素
如果secondIndex为负数,则是到倒数第几个数为止
两端弹出
lpop 左端弹出,弹出后3没了 ,llen查看链表长度为5.
lpushx 操作同lpush差不多
lremove listname count value :
若count>0 则是从左边开始删除count 个值为value的元素
若count<0 则是从右边开始删除count个值为value的元素
当count=0 删除所有值为value的元素
lset 在指定位置插入元素
linsert listname before/after value insertvalue :在第一个指定的元素前面/后面插入 insert value
rpoplpush mylist1 mylist2 从mylist1的右边pop出一个元素加到mylist2的左边
常用于多个程序之间的消息交互
Set
sadd存储 添加已有的元素 set不变 srem删除 smembers访问
sismember是否存在sdiff 求的是不同 得出来的值是第一个和第二个比较,第二个所没有的sinter 求交集sunion并集scard集合长度srandmember随机返回一个数据sdiffstore list1 list2 list3 将listt2和list3相差的成员存储到list1中a1与a2相比多的是b 所以b储存到a4中sinterstore 将交集储存sunionstore将并集存储四.sorted-set
sorted-set 的成员在集合中是有序的
应用场景:游戏的排名,微博的热搜等
zadd添加注意:添加已有的元素 改变的值为 0zscore获取值zcard长度zrem删除zrange 显示数据
zrange显示数据 withscoreszrevrange从大到小排序zremrangebyrank start stop 依据序列删除zremrangebyscore score1 score2 删除score1和score2之间的元素,包括score1 score2
zrangebyscore score1 socre2 查询score1 socre2之间分数的元素
zrangebyscore score1 socre2 limit 0 2
zincrby +变量名+要加的值+key
zcount score1 socre2 在两个分数之间元素的个数