redis数据类型
1、reids的五大数据类型
①:string (字符串) ②:hash (哈希,类似java中的map) ③:list (列表) ④:set (集合) ⑤:zset (有序集合)
2、哪里去获取redis常见类型操作命令
http://redisdoc.com/
3、redis 键 (key)
keys * 获取所有的key exists key 的名字 ,判断某个key是否存在 move key db 当前的库就没了,被移除 expire key 秒 为给定的key设置过期时间 ttl key 查看key剩余过期时间, -1表示永不过期,-2表示已经过期 type key 查看key是什么类型
4、redis 字符串 (string)
set/get/del/append/strlen
Incr/decr/incrby/decrby, 一定要是数据才能进行加减
getrange/setrange
例子:getrange k1 0 3 获取k1值索引 0到3 的值
setrange k1 3 abc 从k1 索引 3位置向后设置abc, 原来索引3,4,5的值会被替换掉
setex (set with expire ) 键 秒值
setnx (set if not exist)
mset/mget/msetnx
getset (先get再set)
5、redis 列表 (List)
lpush/rpush/lrange
例如:lpush k1 v1 v2 v3 ----> v3,v2,v1
rpush k2 v1 v2 v3 ----> v1,v2,v3
lpop/rpop
例如:lpop k1 ----> v3
rpop k1 -----> v1
lindex 按照索引下标获取元素
llen
lrem key N value 删除N个value值
ltrim key 开始index 结束index 截取指定范围的值后复制个原来的key
rpoplpush key1 key2 rpoplpush 移除列表的最后一个元素,并将该元素添加到另一个列表
lset key index value
linsert key before/after value1 value2
性能总结:
它是一个字符串链表,left、right都可以插入添加;
如果键不存在,创建新的链表;
如果键已存在,新增内容;
如果值全移除,对应的键也就消失了。
链表的操作无论是头和尾效率都极高,但假如是对中间元素进行操作,效率就很惨淡了。
6、redis 集合 (set)
sadd key value1 value2 value3 添加元素
smembers key 获取key的所有元素
sismember key value1 判断 key 元素集中是否有value1
scrad key 获取集合中的元素个数
srem key value 删除集合中的元素
srandmember key N 随机取出N个元素
spop key 随机出栈一个元素
smove key1 key2 在key1中取出一个元素 赋值给key2
数学集合:
sdiff key1 key2 差集
sinter key1 key2 交集
sunion key1 key2 并集
7、redis 哈希 (Hash)
KV模式不变,但是V是一个键值对 hget/hget/hmset/hmget/hgetall/hdel hlen hexists key 在key里面的某个值的key是否存在 hkeys/hvals hincrby/hincrbyfloat hsetnx
8、redis 有序集合Zset (sorted set)
zdd key score member [[score member] [score member] ...]:将一个或多个 member 元素及其 score 值加入到有序集 key 当中
zrange key start stop [withscores]: 返回有序集 key 中,指定区间内的成员
zrangebyscore key 开始score 结束score : 获取指定score间的成员
( : 不包含
limit 开始下标步 多少步 : 类似mysql分页
zrem key 某score下对应的value值 :作用是删除元素
zcard/zcount key score区间/zrank key values值,作用是获得下标值/zscore key 对应值,获得分数
zrevrank key values :作用是逆序获得下标值
zrevrange key 0 -1 :逆序获取元素
zrevrangebyscore key 结束score 开始score :逆序获取指定score区间的元素
详细的命令解释参 :http://redisdoc.com/

关注我的公众号,精彩内容不能错过
作者:程序员果果
出处:blog.itwolfed.com
欢迎关注公众号——《程序员果果》 ,分享SpringBoot、SpringCloud、Dubbo、Golang、Docker相关知识与技巧。
原创 Java 博客,点我看看?

浙公网安备 33010602011771号