之前笔者常常接触的数据库是关系型数据库,其中MySQL接触居多。近年来NoSQL兴起,各种新型数据库不断诞生,redis就是NoSQL中的一种热门数据库。   注:此类文章仅仅作为笔者的学习和阅读积累,若有出错之处,敬请谅解。

一、redis的数据类型

  对于redis数据库的介绍,这里就不说了,大家可自行百度,简单来说redis就是以“键值对”形式存储数据的数据库。首先作为一种数据库,对于存储的数据,其必然存在相应的数据存储类型定义,笔者先从redis的存储数据类型说起。   redis数据库存在5种数据类型,分别为:字符串(String)、列表(list)、集合(set)、散列(hash)、有序集合(zset)。  

(1)字符串

  字符串在redis甚至在各大数据库中,都作为最基本的数据类型,可存储的值包括字符串、整数或者浮点数。   redis操作字符串数据常用命令:
命令 说明 基础用法
set 设置存储给定键的值 set [key] [value]
get 获取给定键的值 get [key]
del 删除给定键的值 del [key]
 

(2)列表

  可将redis的列表看作一种“双向队列”,该数据结构允许在其前后两端添加/删除元素。   redis操作列表数据常用命令:
命令 说明 基础用法
lpush 将给定值插入列表前端 lpush [key] [value]
lpop 从列表前端弹出并返回一个值 lpop [key]
rpush 将给定值插入列表后端 rpush [key] [value]
rpop 从列表后端弹出并返回一个值 rpop [key]
lindex 获取列表给定索引上的单个元素值 lindex [key] [index]
lrange 获取列表给定范围中的所有元素值 lrange [key] [startIndex] [endIndex]
 

(3)集合

  redis和集合和列表都可存储多个字符串,区别在于列表可存储多个相同的字符串,而集合保证存储的元素的唯一性。集合存储元素的方式是无序的。   redis操作集合数据常用命令:
命令 说明 基础用法
sadd 将给定元素添加进集合中 sadd [key] [value]
srem 删除集合中的给定元素 srem [key] [value] 
sismember 检查给定元素是否存在于集合中 sismember [key] [value]
smembers 返回集合中的所有元素 smembers [key]
 

(4)散列

  redis的散列的值可以存储多个键值对的映射,键无序且不可重复。   redis操作散列数据常用命令:
命令 说明 基础用法
hset 将给定的键值对添加到散列中 hset [key] [field] [value]
hget 获取指定散列键的值 hget [key] [field]
hdel 删除散列中指定的键(连带值) hdel [key] [field]
hgetall 获取散列中的所有键值对 hgetall [key]
   

 (5)有序集合

  有序集合和散列一样用于存储键值对信息,键和散列的要求一样,不同的是有序集合的值被称为“分值(score)”,分值必须是浮点数。有序集合既可以根据键访问成员,也可以根据分值来访问成员。有序集合的键值对按照分值大小进行排序。   redis操作有序集合数据常用命令:
命令 说明 基础用法
zadd 将给定键值对添加到集合中 zadd [key] [score] [field]
zrem 删除集合中指定的键(连带值) zrem [key] [field]
zrange 获取集合中指定索引范围的键值对 zrange [key] [startIndex] [endIndex](可选“withscores”参数输出分值)
zrangebyscore 获取集合中指定分值范围的键值对 zrangebyscore [key] [minScore] [maxScore]
   

  关于五种数据类型以及Redis的更多操作命令,可到此网站下进行查询和了解。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄