码迷,mamicode.com
首页 > 其他好文 > 详细

redis 之 redis几种类型及使用

时间:2017-05-17 13:54:11      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:集合   sts   incr   信息   bsp   lis   exist   长度   头部   

1. string redis 中的string用于存放长字符串信息。和java中string是一致的。

  向数据库添加数据:

  • set key value 向数据库添加数据
  • get key 获取指定key的值
  • 使用set设值,如果key不存在,那么将会覆盖之前的值
  • setnx(not exists) key value .如果key不存在,那么设值,返回1,如果key存在 返回0,不进行设值。
  • setex(expired)key time(s) value.设置key的value,并且在指定的time秒后失效,失效后返回nil(空)
  • incr(increase) key 如果key是integer,那么为其自增1
  • decr(decrease) key 如果key是integer,那么为其自减1
  • incrby key n 如果key是integer,为其加上n
  • decrby key n 如果key是integer,为其减去n
  • strlen key 返回key的字符串长度
  • getrange key start end 返回指定的下标字符串的值 范围是[start,end]
  • mset k1 v1 k2 v2 k3 v3 通过mset一次性可以设置多个值
  • mget k1 k2 获取多个值
  • append key value 为指定key追加value,如果key不存在,那么新增一个key,值为value.
  • del key删除

2. hash redis hash 是一个string类型的field和value的映射表,hash特别适合 存储对象

  • hset key field value 可以理解key为对象名 field为属性 value为属性值
  • hget key field 获取指定key的field的值
  • hmset key field1 value1 field2 value2 为指定的key设置多个field及其值
  • hmget key field1 field2 获取指定key的field1和field2的值
  • hkeys key 获取指定key的所有的field
  • hvals key 获取指定key的所有的field的值
  • hdel key field1 [field2] 删除指定key的一个或多个field
  • hexists key field 检查指定的key的field是否存在,如果存在返回1,如果不存在返回0
  • hgetall key 返回指定key的所有的field和field的value.
  • hlen key 返回指定key的field的个数
  • del key

 

3.list Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素列表的头部(左部)或者尾部(右部)一个列表最多可以包含232-1个元素(4294967295, 每个列表超过40亿个元素)。

  • lpush key value1 [value2] 向指定的key列表头中添加一个或者多个value
  • lpop key 移除并且获取指定key列表中的第一个元素
  • rpush key value1 [value2] 向指定的key列表的尾部添加一个或者多个value
  • rpop key 移除并且获取指定key列表中的最后一个元素
  • lindex key index 获取指定key列表的下标为index的元素。Index从0开始
  • linsert key before|after currentElement insertElement 在指定key列表中的currentElement(当前元素)的前或者后插入指定(insertElement)元素
  • llen key 返回指定key列表中的元素个数
  • lrange key start stop 返回指定key列表中的的[start,end]范围中的元素
  • lset key index value 为指定key列表替换指定下标index的值为value
  • ltrim key start end  对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。

4.set: Redis的Set是String类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复数据。Redis中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是0(1)。集合中最大的成员数为 232 - 1(4294967295,每个集合可存储40多亿个成员)

  • sadd key m1 m2 [m3] 为指定的key集合添加一个或者多个成员
  • smembers key 返回指定key集合的成员
  • scard key 返回指定key集合的元素个数
  • spop key 移除并返回指定key集合中的随机一个元素
  • sdiff key1 key2 返回key1集合和key2集合的差集
  • sdiffstore key3 key1 key2 返回key1集合和key2集合的差集,并将差集存入key3
  • sinter key1 [key2] 返回所有集合的交集

  等。

5. sorted set(zset)

Redis有序集合和集合一样,也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会失联一个double类型的分数,redis正是通过分数来为集合中的成员进行从小到大的排序。

有序集合的成员是唯一的,但分数(score)却可以重复。

集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

zadd key score1 member1 [score2 member2] 为指定的key有序集合添加分数及其该分数对应的元素。可以一次添加多个元素

  • zcard key 返回指定的有序集合key中元素个数
  • zcount key min max 返回指定有序集合key中 分数从min到max的元素个数
  • zincrby key increment member 为指定的有序集合key中的指定memeber元素的分数加上一个increment
  • zrank key member 返回指定key集合中member的下标 从0开始
  • zscore key member 返回指定key集合中member的分数
  • zrem key memeber1 [member2]移除指定key集合中的一个或者多个元素

 

 

 

 

 

 

  

redis 之 redis几种类型及使用

标签:集合   sts   incr   信息   bsp   lis   exist   长度   头部   

原文地址:http://www.cnblogs.com/forever2h/p/6866560.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!