Redis五大数据类型

 

Redis的五大数据类型

String(字符串)

  1. 一个key对应一个value
  2. String类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象。
  3. 一个redis中字符串value最多可以使512M
  4. redis hash是一个键值对集合
  5. redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象

Hash(哈希,类似java里的Map)

类似Java里面的Map<String,Object>

List(列表)

Redis列表是简单的字符串列表,按照插入顺序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。

           他的底层实际是个链表

Set(集合)

           String类型的无序集合,不重复

Zset(sorted set:有序集合)

           与set不同的是每个元素都会关联一个double类型的分数

Redis命令大全

      http://redisdoc.com/

 

 

Redis 键(key)常用案例

 

keys * 查询所有的key

   

exists key的名字,判断某个key是否存在

       

move key db    当前库就没有了,被移动到指定的库

   

expire key秒钟:为给定的key设置过期时间

 

ttl key 查看还有多少秒过期,-1表示永不过期,-2表示已过期

type key查看你的key是什么类型

 

 

Redis字符串(String)

单值单value

案例:

set/get/del/append/strlen

 

Incr/decr/Incrby/decrby,一定要数字才能进行加减

 

 

getrange/setrange

getrange:获取指定区间范围内的值,类似between……and的关系(0到-1表示)

 

 setrange:设置指定区间范围的值,格式是setrange key值 具体指(从第几位开始更换为具体的值)

 

setex(set with expire)键秒值/sentx(set if not exist)

 

 

mset/mget/msetnx

 

 

getset(先get再set)

 

Redis列表(List)

单值多value

lpush(倒序保存)/rpush(正序保存)/lrange(查询)

 

lpop(删除第一个)/rpop(删除最后一个)

 

lindex,按照索引下标准获得元素(从上到下)

 

llen(list长度)

 

lrem  key  删N个 value

 

ltrim key 开始index 结束index,截取指定范围的值后再赋值给key

 

 rpoplpush源列表 目的列表

 

 

lset key index value(替换值)

 

 linsert key before/after值1 值2(将值1之前/之后添加一个值2)

 

 

10. 总结:

他是一个字符串链表:left、right都可以插入添加

如果键不存在,创建新的链表

如果键已存在,新增内容

如果值全移除,对应的键也就消失了

链表的操作无论是头和尾效率都极高,但假如是对中间的元素进行操作,效率就很惨淡了

 

Redis集合(set)

单值多value

sadd(添加)/smembers(查询)/sismember(判断值是否存在)

 

 scard,获取集合里面的元素个数

 

 srem key value 删除集合中元素

 

 srandmember key 某个整数(随机出几个数)

 

 spop key 随机出栈

 

 smove key1 key2 在key1里某个值    作用是将key1里的某个值赋给key2

 

 数学集合类

a)   差集:sdiff(在第一个set里面而不在后面任何一个set里面的项)

 

 

b)  交集:sinter

 

 

c)   并集:sunion

 

 

 

Redis哈希(Hash)

KV模式不变,但V是一个键值对

hset(创建)/hget(获取)/hmset(创建多个)/hmget(查询多个)/hgetall(查询全部)/hdel(删除)

hlen(查询长度)

 

hexists key 在key里面的某个值的key(判断key是否存在)

 

hkeys(查看所有的键)/hvals(查看所有的值)

 

hincrby(给value值+整数值)/hincrbyfloat(给value值+小数值)

 

hsetnx(添加不存在的键值)

Redis有序集合Zset(sorted set)

在set基础上,加一个score值。之前set是k1 v1 v2 v3 现在zset是k1 score1 v1 score2 v2

zadd/zrange

zrangebyscore key 开始score 结束score

a)     ( 不包含

b)    Limit作用是反会限制 limit开始下标步 多少步

 

 

 zrem key 某score下对应的value值,左右时删除原素

 

 zcard /zcount key score区间 /zrank key values值,作用是获得下标志、zscore key对应值,获得分数

 

zrevrank key values值,作用是逆序获得下标

zrevrange(逆序)

zrvrangebyscore key 区间(逆序)

 

 

 

posted @ 2016-12-29 11:19  wenxudong  阅读(117)  评论(0编辑  收藏  举报