Fork me on GitHub

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/

 

关注我的公众号,精彩内容不能错过

  

 

posted @ 2017-07-13 15:15  程序员果果  阅读(248)  评论(0编辑  收藏  举报