五大类型:

1.string(字符串)

---是redis最基本的数据类型,可以理解成与Memcached一模一样的模型,一个key对应一个value,string类型是二进制安全的,可以包含任何数据


2.hash(哈希,类似java里的Map)

--- 是一个键值对集合,hash是一个string类型的field和value的映射表,hash特别适合用于存储对象,类似java里面的Map<String,Object>

3.list(列表)

---列表是简单的字符串列表,按照插入顺序排序,你可以添加一个元素列表的头部(左边)或者尾部(右边),它的底层实际是个链表

4.set(集合)

---Redis的Set是string类型的无序集合,通过hashTable实现的

5.zset(sorted set:有序集合)

---Redis zset和set一样也是string类型元素的集合,且不允许重复的成员,不同的是每个元素都会关联一个double类型的分数,正是通过分数来为集合

中的成员进行从小到大的排序,zset的成员是唯一的,但是分数却可以重复


redis常见数据类型命令文档地址:

---http://redisdoc.com/

案例:

redis键(key):

1.keys *  ----查看当前库下所有的key

2.exists key  -----判断某个key是否存在

3.move key db ----移除当前库的key到其他号库中

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

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

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

字符串(String):

1.set key value   ----设置键值

2.get key   ----获得键的值

3.del key -----删除键

4.append key value ---指定的键进行内容的追加

5.incr  key  ----对键的值进行加一

6.decrby key ----对键的值进行减一

7.Incrby key increment  ----对指定的键的值进行给定的increment的相加

8.decrby key increment ----对指定的键的值进行给定的increment的相减

9.getrange key start end ----获取指定范围的key

10.setrange key offset value ---给指定位置的key进行替换

11.setex key seconds value  ---给键值设定几秒后过期

12.setnx key value ---指定的键不存在加入一个key/value,存在不加入

13mset key value key1 value1 .....   ----合并设置值

14.mget key key1  ----合并取键的值

15msetnx  key value key1 value1 ..--合并指定的键值,注意如果其中任何一个键存在,导致整行无法加入

16.getset key value   -----先get在set值


列表(List)

1.lpush key value value1 ....   ---向key这个集合中依次加入多个值(后进先出)

2.rpush key value value1 ....  ----向key这个集合中依次加入多个值(先进后出)

3.lrange key start stop  ----显示指定key集合的所有值

4.lpop key ---- 移除指定集合key的最后一个值

5.rpop key ----移除指定集合key的第一个值

6.lindex key index ---- 按照索引下标获得元素(从上到下)

7.llen key  --拿到集合key的长度

8.lrem key count value --- 移除指定集合key的count次的值

9.ltrim key start stop  ----截取指定集合的key的值在赋给自己

10.rpoplpush source destination  ---移除source集合最后一个到destination集合第一个位置上

11.lset key index value --- 给指定集合key的索引设置值

12.linsert key BEFORE/AFTER pivot value   ---给指定集合key的指定的pivot的前面或者后面设置值


集合(Set)

1.sadd key member member1 ..... ---向集合key中添加值,重复的值不会加入

2.smembers key ----显示集合key中所有的值

3.sismember key member  ---指定集合key中的member是否存在

4.scard  ---- 获取集合里面的元素个数

5. srem key member  -----删除集合中元素

6. srandmember key 【count] ------ 某个整数(随机出几个数)

7.spop key [count[  ----随机出栈几个数

8.smove source destination member    ---将source集合中的值移给destination集合中

9.sdiff key key1 ....  ----差集

10.siniter key key1 ....  ----交集

11.sunion  key key1 .... ----并集


哈希(Hash):KV模式不变,但V是一个键值对

1.hset key field value  --- 向当前key的field设置值

2.hget key field   ---取出当前的key的field的值

3.hmset key field value field1 value1 .....  ----合并设置当前的key的field的值

4.hmget key field field1  ----合并取出key的field的值

5.hgetall key ---显示所有key/value

6.hdel key field   ---删除key的field

7.hlen key  ---当前key的长度

8.hexists key field   ---当前key的field是否存在

9.hkeys key   ---显示当前key的所有key

10.hvals key ----显示当前key的所有val

11.hincrby key field increment   ----给当前key的field的值加上输入的increment值

12.hincrbyfloat key field increment   ----给当前key的field的值加上输入的increment值

13.hsetnx key field value   ----查看当前key的field是否存在,存在不插入,不存在插入


有序集合Zset(sorted set):

1.zadd key score member score1 member1 .....   -----指定集合key添加key

2.zrange key start stop withscores    ----显示指定集合的所有值

3.zrangebyscore key min max    ---显示指定集合在min--max范围之内的key

4.zrem key member    ---移除指定集合key的值

5.zcard key  --显示集合size

6.zcount key min max ----显示集合在min--max范围内的个数

7.zrank key member   ---显示指定集合key的member的下标

8.zscore key member   ---显示指定集合key的member的值

9.zrevrank key member   ---逆序获得指定下标值

10.zrevrange key start stop    --逆序获得指定范围的key

11.zrevrangebyscore key max min  ----逆序显示指定范围的key