Redis--Redis 5大数据类型

Redis 数据类型

   1 String( 字符串)

       Redis 字符串是字节序列。Redis 字符串是二进制安全的,这意味着他们有一个已知的长度没有任何特殊字符终止,所以你可以存储任何东西,512 兆为上限
示例:

redis 127.0.0.1:6379> SET name kevin
OK

redis 127.0.0.1:6379> GET name
“kevin”

  • append 作用是向键值的末尾追加 value。如果键不存在则将该键的值设置为 value。返回值是追加后字符串的总长度。

  • incr 让当前键值以 1 的数量递增,并返回递增后的值只能是一个整型才可以

  • incrby 可以指定参数一次增加的数值,并返回递增后的值(可以增加一个负数)

  • decr 让当前键值以 1 的数量递减 并返回递减后的值

  • decrby 可以指定参数一次递减的数值,并返回递减后的值(可以减少一个负数)

  • incrbyfloat 可以递增一个双精度浮点数(可以加一个负数)

  • mget/mset 作用与 get/set 相似,不过 mget/mset 可以同时获得/设置多个键的键值

  • del 根据 key 来删除 value(可以同时删除多个,del key1 key2 …),如果是hash类型,可以直接删除根key


2 Hash(hash 表)

Redis--Redis 5大数据类型

      Redis 的哈希是键值对的集合。 Redis 的哈希值是字符串字段和字符串值之间的映射,因此它们被用来表示对象.

  • hset 存储一个哈希键值对的集合

hset key field value

  • hget 获取一个哈希键的值

hget key field

  • hmset 存储一个或多个哈希是键值对的集合

hmset key field1 value1 field2 value2 …

  • hmget 获取多个指定的键的值

hmget key field1 field2 …

  • hexists 判断哈希表中的字段名是否存在 如果存在返回 1 否则返回 0

hexists key field

  • hdel 删除一个或多个字段

hdel key field

  • hgetall 获取一个根key的键值对的集合

hgetall key
Redis--Redis 5大数据类型

  • hvals 只返回字段值
  • hkeys 只返回字段名

hvals key

hkeys key

Redis--Redis 5大数据类型

  • hlen 返回 key 的 hash 的属性个数

hlen key

Redis--Redis 5大数据类型


3 List( 链 表)

Redis--Redis 5大数据类型
       Redis 的链表是简单的字符串列表,排序插入顺序。您可以添加元素到 Redis 的列表的头部或尾部

  • lpush key value 向链表左侧添加
  • rpush key value 向链表右侧添加
  • lpop key 从左边移出一个元素
  • rpop key 从右边移出一个元素
  • llen key 返回链表中元素的个数 相当于关系型数据库中 select count(*)
  • lrange key start end lrange 命令将返回索引从 start 到 stop 之间的所有元素。Redis 的列表起始索引为 0。可以写超出范围的数字,比如0 100. 0 -1代表返回全部
    lrange 也支持负索引 lrange key -2 -1 如 -1 表示最右边第一个元素 -2 表示最右边第二个元素,依次类推。
  • lindex key index 如果要将列表类型当做数组来用,返回指定索引的元素,索引从 0 开始 如果是负数表示从右边开始计算的索引,最右边元素的索引是-1。
  • lset key indexnumber value 是另一个通过索引操作列表的命令,它会将索引为 index的元素赋值为 value。

4 Set( 集合)

Redis--Redis 5大数据类型

  • sadd key value 添加一个 string 元素到,key 对应的 set 集合中,成功返回 1,如果元素已经在集合中返回 0.可以直接添加多个
    Redis--Redis 5大数据类型
  • scard key 返回 set 的元素个数,如果 set 是空或者 key 不存在返回 0
  • smembers key 返回 key 对应 set 的所有元素,结果是无序的
  • sismember key value 判断 value 是否在 set 中,存在返回 1,0 表示不存在或者 key 不存在
  • srem key value 从 key 对应 set 中移除给定元素,成功返回 1,如果 value 在集合中不存在或者 key 不存在返回 0. 可以直接删除多个
    Redis--Redis 5大数据类型

5 SortSet( 有序集合)

  • zadd key score value 将一个或多个 value 及其 socre 加入到 set 中

  • zrange key start end 0 和-1 表示从索引为 0 的元素到最后一个元素(同 LRANGE 命令相似)

  • zrange key 0 -1 withscores 也可以连同 score 一块输出,使用 WITHSCORES 参数

  • zremrangebyscore key start end 可用于范围删除操作 (根据分数删除)
    Redis--Redis 5大数据类型