一、redis是什么
redis是非关系型数据库,以键值对的形势存储数据,key,和5种不同类型的值value,可以将存储在内存的数据持久化到硬盘
二、redis的数据结构
redis可以存储键key与五种不同数据结构类型之间的映射,这物种数据结构分别为String(字符串)、List(列表)、Set(集合)、Hash(散列)、ZSet(有序集合)。
2.1、 redis中的字符串
字符串命令
GET 获取存储在给定键中的值
SET 设置存储在给定键中的值
DEL 删除存储在给定键中的值
命令的基本操作如下图
2.2、redis中的列表
一个列表结构可以有序的存储多个字符串,和表示字符串时使用的方法
列表命令
RPUSH 将给定值推入列表的右端
LRANGE 获取列表在给定范围上的所有值
LINDEX 获取列表在给定位置上的单个元素
LPOP 从列表左端弹出一个值,并且返回被弹出的值
LRANGE 返回列表中指定区间内的元素
代码清单如下:
2.3、 redis的集合
redis的集合和列表都可以存储多个字符串,不同在于列表可以存储多个相同的字符串,而集合则通过使用散列表来保证自己存储的每个字符串都是各不相同的(这里的散列表只有键,没有与键相关联的值),因为redis的集合是无序方式存储的元素,所以用户不能像存储使用列表那样,将元素推出集合的某一端,或者从集合的某一端弹出元素。
集合的命令列表
SADD 添加元素到集合
SREM 将元素从集合移除
SMEMBERS 获取集合中所有元素
sismember 检查集合中是否存在某个元素
srem 删除集合中的某个元素
代码清单如下
2.4、 redis中的散列
redis中的散列可以存储多个键值对之间的映射,和字符串一样,散列中存放的值既可以是字符串,又可以是数字值,并且用户用样可以对散列表中的数子值执行自增操作或自减操作。
散列命令
HSET 在散列里关联给定的键值对
HGET 获取指定散列键的值
HGETALL 获取散列所有的键值对
HDEL 删除给定键
代码清单如下:
2.5、redis中的有序集合
有序集合和散列一样,都用于存储键值对,有序集合的键被称为成员,每个成员都是各不相同的,有序集合的值被称为分值,分值必须为浮点数,有序集合是redis里面唯一一个既可以更具成员访问元素,又可以根据分值以及分值的排列顺序来访问元素结构。
有序集合命令
ZADD 将一个带有给定分值的成员 ,添加到有序集合里
ZRANGE 根据元素在有序排列中所处的位置,从有序集合里面获取多个元素
ZRANGEBYSCORE 获取有序集合在给定分值范围类所有的元素
ZREM 如果给定成员存在于这个集合中,则移除该成员
代码清单如下