Redis学习笔记(一):Redis的数据类型
程序员文章站
2023-11-19 12:53:22
之前笔者常常接触的数据库是关系型数据库,其中MySQL接触居多。近年来NoSQL兴起,各种新型数据库不断诞生,redis就是NoSQL中的一种热门数据库。 注:此类文章仅仅作为笔者的学习和阅读积累,若有出错之处,敬请谅解。 一、redis的数据类型 对于redis数据库的介绍,这里就不说了,大家可自 ......
之前笔者常常接触的数据库是关系型数据库,其中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的更多操作命令,可到此网站下进行查询和了解。
上一篇: 8. 函数-闭包
下一篇: MySQL数据库存储过程和事务的区别讲解