娱乐而已,不喜勿喷
redis的数据结构.
1.储存HashString Key和String Value的map容器
每个hash可以存储4294967295个键值对
常用命令
hset myhash key value 设置myhash对用的map集合
hget myhash key 获取key对应的值
hgetall myhash 获取所有的值
hdel myhash key 删除key对应的值
hmset myhash key1 value1 key2 value2 设置myhash多个键值对
del myhash 删除myhash集合
hincrby myhash key 5 设置key对应的值加5
hexists myhash key 判断myhash中key是否存在,如果存在返回1,否则未0
hlen myhash 返回myhash中key的个数
hkeys myhash 返回myhash中所有key的名称
hvalues myhash 返回myhash中所有value对应的值
2.储存list
使用数组ArrayList的方式储存数据
使用LinkedListd双向链表的方式储存数据
常用命令
lpush mylist value1 value2 value3 从左端开始添加
rpush mylist1 value1 value2 value3 从右端开始添加
lrange mylist 0 5 查看列表从0开始5结束
lpop mylist 弹出头部 value3,value3将不在mylist中
rpop mylist 弹出尾部 value1,value1将不在mylist中
llen mylist 查看列表个数
lpushx mylist value3 将value3插入最左端
rpushx mylist value1 将value插入最右端
lrem mylist 2 value1 删除2个value1
lset mylist 3 value4 向下标为三插入value4
linsert mylist before value1 value5 在value1之后插入value5
linsert mylist after value1 value5 在value1之前插入value5
rpoplpush mylist1 mylist2 将mylist1中的value1弹出插入到mylist2中
3.储存set
set集合中不允许出现重复元素
set可包含的最大元素数是4294967295
使用场景
跟踪一些唯一性数据
用于维护数据对象之间的关联关系
常用命令
sadd myset value1 value2 value3 添加集合
srem myset value1 删除value1
smembers myset 查看myset数据
sismember myset value1 查看value1是否存在于myset,如果存在返回1,否则返回0
sdiff myset1 myset2 差集运算
sinter myset1 myset2 交集运算
sunion myset1 myset2 并集运算
scard myset 返回myset个数
srandmember myset 返回myset随机一个值
sdiffstore myset myset1 myset2 将myset1和myset2差集储存到myset中
sinterstore myset myset1 myset2 将myset1和myset2交集储存到myset中
sunionstore myset myset1 myset2 将myset1和myset2并集储存到myset中
4.储存sorted-set
使用场景
游戏排名
微博热点话题
大型在线游戏积分排行榜
构建索引数据
常用命令
zadd mysort num1 name1 num2 name2 添加元素
zscore mysort name1 返回num1 查看某个name对应的num值
zcard mysort 查看mysort中的元素个数
zrem mysort name 删除mysort中name元素
zrange mysort 0 -1 查看mysort中元素name的名称
zrange mysort 0 -1 withscores 查看mysort中元素name的名称和num值(从小到大排序)
zrevrange mysort 0 -1 withscores 查看mysort中元素name的名称和num值(从大到小排序)
zremrangebyrank mysort 0 4 按照排序删除4个元素
zremrangebyscore mysort 80 100 按照num范围删除80到100之间的元素
zrangebyscore mysort 0 100 查中num从0到100之间的元素name名称
zrangebyscore mysort 0 100 withscores 查中num从0到100之间的元素name名称和num
zrangebyscore mysort 0 100 withscores limit 0 2 查中num从0到100之间的2个元素name名称和num
zincrby mysort 3 name 修改mysort中name对应的num个数加3
zcount mysort 80 100 查询mysort中num在80到100中的元素有几个
5.keys的通用操作
常用命令
keys * 查看所有keys
keys my? 查看以my开头的keys
del mylist1 mylist2 删除keys为mylist2和mylist2
exists mylist1 查看mylist1是否存在,存在返回1,否则返回0
rename mylist mylist1 重命名将mylist名称改为mylist1
expire mylist 1000 设置过期时间1000秒
ttl mylist 所剩超时时间
type mylist 返回数据类型
6.事物操作
开启事物: multi (之后的命令将会存储到队列中)
提交事物: exec
事物回滚: discard
7.储存string
常用命令
set key value 赋值
get key 获取key对应值
getset key value 先获取在赋值
del key 删除key值
incr key 如果有key直接将值加1,否则创建一个key值0
decr key 如果有key直接将值减1,否则创建一个key值0
incrby key 3 将指定的可以加3
decrby key 3 将指定的可以减3
append key 5 在key后面追加5,如果key不存在这直接创建一个key,value值为5