Redis笔记1-基础部分

Redis数据结构

redis的数据结构主要是五种,即string(字符串),list(列表),set(集合),hash(散列),zset(有序集合)

  • string:可以是字符串,整数,浮点数
  • list:是链表,链表的每个节点包含一个字符串
  • set:包含字符串的无序收集器,被包含的每个字符串都是各不相同的
  • hash:键值对无序散列表
  • zset:字符串成员与浮点数分值之间的有序映射,元素排列由分值大小决定

string基础

命令 描述
set 设置存储在给定键中的值
del 删除存储在给定键中的值,此命令可以用于所有类型
get 获取存储在给定键中的值

示例:

列表基础

redis的列表是用链表实现的,一个列表结构可以有序地存储多个字符串,列表中相同的元素可以重复出现。

命令 描述
rpush(lpush) 将指定的值push到列表右端(左端)
rpop(lpop) 从列表的右端(左端)弹出一个值,并返回这个值
lrange 获取列表给定范围上的所有值
lindex 获取列表给定位置上的单个元素

示例:

集合基础

Redis 的集合和列表都可以存储多个字符串,它们之间的不同在于,列表可以存储多个相同的字符串,而集合则通过使用散列表来保证自己存储的每个字符串都是各不相同的。

同时,集合使用无序的方式存储元素。

命令 描述
sadd 将元素添加到指定集合中
srem 将元素从指定集合中移除
smembers 获取集合中包含的所有元素(如果集合元素特别多,此命令执行速度会很慢)
sismember 检查指定的元素是否在指定集合中

示例:

散列基础

Redis的散列可以存储多个键值对之间的映射。和字符串一样,散列存储的值既可以是字符串又可以是数字值。散列你可以当成redis当中嵌入的另一个微型版redis,不少字符串命令都有相应的散列版本,而且尤其适合存储对象。

命令 描述
hset 在散列中关联给定的键值对
hget 获取指定的散列键的值
hgetall 获取散列包含的所有键值对
hdel 如果给定的键在指定散列中,那么移除这个键

示例:

有序集合基础

有序集合和散列一样,都用于存储键值对:有序集合的键被称为成员,每个成员都是各不相同;而有序集合的值则被称为分值,分值必须为浮点数

有序集合是Redis里面唯一一个既可以根据成员访问元素(这一点和散列一样),又可以根据分值以及分值的排列顺序来访问元素的结构。

命令 描述
zadd 将一个带有给定分值的成员添加到zset中
zrangebyscore 获取zset在给定分值范围内的所有元素
zrange 根据元素在zset中所处位置,从zset中获取多个元素
zrem 如果给定成员存在于有序集合,那么移除这个成员

示例: