Redis数据类型:数据类型不支持类型嵌套

字符串类型
散列类型
列表类型
集合类型
有序集合类型

Redis命令:key命名可以采用:对象类型:对象ID:对象属性 如:user :1:friends 表示用户为1的好友列表

全局相关
  1. KEYS pattern:获得符合规则的键名列表,pattern支持通配符格式,该操作会遍历Redis中所有的键,数量较多会影响性能,不建议在生产环境使用
  2. EXISTS key:判断一个键是否存在,存在返回1,不存在返回0
  3. DEL key [key …]:删除键,可以删除一个和多个,返回被删除键的个数,可以使用 redis-cli DEL ‘redis-cli KEYS “user:*”’ 来删除user开头的所有键
  4. TYPE key:获取键的类型
字符串类型
  1. SET key value:将key的值赋值为value:SET name 张三
  2. GET key:得到key的值:GET name
  3. INCR key:将key的值加1,并返回加成功后的值
  4. INCRBY key increment:可以通过increment参数来指定step。如:INCRBY num 3 将num 加3
  5. DECRBY key decriment:根据decriment参数来减少指定的step
  6. INCRBYFLOAT key increment:增加指定浮点数 INCRBYFLOAT num 2.7 增加2.7
  7. APPEND key value:向尾部追加值,返回追加成功后的字符串长度
  8. STRLEN key:获取字符串长度
  9. MGET key [key …]:同时获得多个key的值
  10. MSET key1 value1 key2 value2:同时设置多个key的值
  11. 位操作
散列类型

redis 获取key值 redis获取key类型_有序集合

  1. HSET key field value:给字段赋值(HSET car name BMW)
  2. HGET key field:获取字段值
  3. HMSET key field1 value1 field2 value2:批量设值
  4. HMGET key filed1 field2:获取多个字段的值
  5. HGETALL key:获取key下所有的字段和字段值
  6. HEXISTS key field:判断字段是否存在
  7. HSETNX key field value:如果字段不存在时赋值,如果存在,不执行操作
  8. HINCRBY key field increment:增加数字
  9. HDEL key field [field…]:删除字段(可以删除多个)
  10. HKEYS key, HVALS key:只获取key或者只获取value
  11. HLEN key:获取key键中字段的数量
列表类型:可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的某一个片段
  1. LPUSH key value[value …] 向列表的左端添加元素,返回值为列表长度
  2. RPUSH key value[value …] 向列表的右端添加元素,返回值为列表长度
  3. LPOP key, RPOP key 从列表的左右两边弹出元素,被弹出的元素被删除
  4. LLEN key:获取key的长度
  5. LRANGE key start end:获取列表片段,包含两端元素,起始索引为 0,支持负索引,如:-1表示最右边第一个元素,-2表示最右边第二个元素,以此类推, LRANGE key 0 -1 可以获取列表中的所有元素,如果start>end 返回空列表,如果end大于length,返回最右边的元素
  6. LREM key count value:删除列表中前 count个值为 value的值。针对列表中数据重复的情况
  • 当count>0时,会删除从最左边起的前count个值为value的元素
  • 当count<0时,会删除从最右边起的前 |count|个值为value的元素
  • 当count=0时,会删除所有值为value的元素
  1. LINDEX key index:获取索引为 index的value,如果index为负数,那么是从最右边的第 |index|个元素
  2. LSET key index value:将索引为index的值设置为value,如果为负数,从最右边的第 |index|个元素
  3. LTRIM key start end: 将原key截取,只保留start ~ end (闭区间,下标从0开始计算)值的的集合
  4. LINSERT key BEFORE|AFTER pivot value:从左到右的查找值为 pivot的元素,将value插入到该值的前面或者后面,若pivot不存在,返回-1(失败)
  5. RPOPLPUSH source destination:将一个元素列表的值转入另一个列表
集合类型:集合中的每个元素都是不相同的,且没有顺序
  1. SADD key member [member …]:向集合中添加元素
  2. SREM key member [member …]:删除集合的中元素
  3. SMEMBERS key:获取key中所有的元素
  4. SISMEMBER key member:判断元素在不在集合中
  5. 集合运算:
  • SDIFF key [key …]: 对集合进行差集运算,A与B的差集代表 A-B,{1,2,3} - {2,3,4} = {1},多个集合计算按照顺序计算
  • SINTER key [key …]:对集合进行交集运算,A与B的交集代表 AΩB {1,2,3} Ω {2,3,4} = {2,3}
  • SUNION key [key …]:对集合进行并集运算,A与B的并集代表 AUB {1,2,3} U {2,3,4} = {1,2,3,4}
  • SDIFFSTORE destination key [key …]: 对集合进行差集运算并将结果存储在destination中
  • SINTERSTORE destination key [key …]: 对集合进行交集运算并将结果存储在destination中
  • SUNIONSTORE destination key [key …]: 对集合进行并集运算并将结果存储在destination中
  1. SCARD key:获取集合中元素个数
  2. SRANDMEMBER key [count]: 随机获取集合中的 count 个元素, 如果count大于集合元素,返回所有,不会存在重复的数据。如果count为负数,返回|count|个元素,可能返回相同的元素,如果大于集合的个数,也会返回重复的数据,个数不会少,这是由于集合的存储类型采用 散列表 造成的。
  3. SPOP key : 随机弹出一个元素,无序的
有序集合类型:在集合的基础上,对集合中的每个元素关联了一个分数(分数允许负数)
  1. ZADD key score member [score member …]:向有序集合中插入该元素以及该元素的分数
  2. ZSCORE key member: 获取元素的分数
  3. ZRANGE key start end [WITHSOCORES]:和LRANGE一样,返回有序集合中的元素,按照分数由低到高的顺序,中文按照UNICODE编码
    ZREVRANGE key start end [WITHSOCORES]:和ZRANGE一样,返回集合中的元素,按照分数的由高到低的顺序
  4. ZRANGEBYSCORE key min max [WITHSOCORES] : 返回指定分数区间(包含min和包含max)的元素,如果希望不包含,可在分数前加( 如:ZRANGEBYSCORE myzset2 (3 10 :返回myzset2中分数大于3且小于10的元素, ZRANGEBYSCORE myzset2 0 +inf 返回大于0的所有元素, -inf代表负无穷,+inf代表正无穷,
  5. ZINCRBY key increment member:增加member的分数,increment代表增加多少分,负数代表减分
  6. ZCARD key : 获取集合中元素的个数
  7. ZCOUNT key min max:获得指定分数范围的元素个数
  8. ZREM key member [member …]: 删除一个或多个元素
  9. ZREMRANGEBYRANK key start end : 按照分数从小到大的顺序删除元素
  10. ZREMRANGEBYSCORE key min max:删除元素的分数在min和max之间的元素
  11. ZRANK key member:获取元素的排名,从小到大
  12. ZREVRANK key member:获取元素的排名,从大到小
  13. 计算有序集合的交集:ZINTERSTORE, 计算并集:ZUNIONSTORE