redis 之 redis几种类型及使用

Posted forever_2h

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis 之 redis几种类型及使用相关的知识,希望对你有一定的参考价值。

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几种类型及使用的主要内容,如果未能解决你的问题,请参考以下文章

Python练习笔记之Redis练习题及答案

Redis介绍及使用

redis 之 redis数据类型及常用命令

Redis系列之----Redis的数据类型及使用场景

系统学习redis之三——redis数据类型之string类型及操作

缓存系列之三:redis安装及基本数据类型命令使用