redis基本命令与简介

redis的数据操作

redis数据库

进入\退出redis数据库
redis-cli 进入redis数据库客户端
redis-server 进入redis服务端
exit 退出数据库
quit 退出数据库
获取帮助文档
redis-cli --help 
redis-server --help 
选择数据库

redis数据库一共有16个,用0-15表示。

默认使用0号数据库。

切换数据库数代码如下

select 10 # 进入10号数据库

redis数据类型

键值对 是redis唯一的数据结构
字符串 是redis唯一的数据类型

键只能是一个字符串,具有唯一性。相当于变量名,但不受标识符规范约束,可以是任何字符组合。

值也是字符串,但是有五种数据结构,便依此将键值对分为五大类型。值的最大长度为512M。

redis中所有数据都是二进制数据,redis直接操作内存,每隔一段时间会自动保存。

值的五大类型

string redis最基本的数据类型,其他数据类型都是字符串组成的

hash redis中的字典,保存多个域值对。称呼变化:字典 > 键,键 > 域,值 > 值

list redis中的列表,保存多个字符串

set 无序集合,保存多个字符串,元素不按添加顺序排列。

zset 有序集合,保存多个字符串,元素位置需用户指定。

五大类型都有自己的创建和操作命令,致使redis的命令特别多、特别复杂。

redis数据操作

键的操作命令

keys 查看键名
keys *		# 查看数据库中所有键
keys *a*	# 查看包含a的键

键名的查找符合正则表达式
flushall 清空数据库
flushall [ASYNC]	# 清空当前数据库 返回OK
rename 修改键名
rename key newkey	# 修改键名,返回OK
exists 判断键名是否存在
exists key [key ...] 	# 只要有一个键名存在,就返回 1,不存在返回 0
type 查看键值类型
type key	# 查看键值类型
del 删除键值对
del key		# 删除键值对,成功返回1,失败返回0
expire 定时删除键值对
expire key seconds		# 设定键值对有效时间,时间一到删除键值对, 返回1
persist 保留键,取消定时删除
persist key	# 取消定时删除。取消成功返回 1,未定时或不存在的键无法取消返回0
ttl 查看键值对有效时间
ttl key	# 查看键值对有效时间,还有多久将被删除。键不存在返回-2,键未定时返回-1

值的操作命令

值有五大数据结构,各有自己的操作命令。

string类型:值为一个字符串

set /mset 创建和修改
set key value # 创建或修改一个键值对 ,返回OK

mset key value [key value ...]	# 创建或修改多个键值对,返回OK
setex 创建和修改一个定时键值对
setex key seconds value # 创建和修改定时键值对,返回OK
# 定时键值对:在设定时间到后自动删除的键值对
append 创建\追加修改
append key value # 将字符串(value)添加到指定键值的后面,返回(值)字符串总长度
get / mget 查看
get key # 通过键名,查看值。

mget key [key ...]  # 通过多个键名,查看多个值

hash类型:值为一个字典

键名即字典名,域即字典键。

hset / hmset 创建、修改字典
hset key field value	# 创建或修改一个(字典)hash类型键值对,返回添加的个数

hmset key field value [field value ...] # 创建或修改多个字典,成功返回OK
查看域值 hgetall / hget / hmget / hkeys / hvals
hgetall key		# 通过键名,查看所有域值(整个字典)

hget key field	# 通过键名和域,查看某个域的值(字典中某个键的值)

hmget key field [field ...] # 查看多个域的值 (字典中多个键的值)

hkeys key	# 通过键名,查看键的所有域

hvals key	# 通过键名,查看键的所有值
hdel 删除键域值
hdel key field [field ...] 删除一个键的多个域值,返回删除的个数
hincrby 增量字典

其域的值为数值型,通过添加相同的域,来增加该域的值。

hincrby key field increment increment代表增加的数值。

list类型

lpush / rpush 创建列表/添加列表元素
# 创建列表键或添加一个及多个元素,返回列表元素个数
lpush key value [value ...]	# 元素从右往左排列,从列表左边插入元素

rpush key value [value ...] # 元素从右往左排列,从列表右边插入元素
linsert 在指定位置插入(添加)一个列表元素
linsert key BEFORE|AFTER pivot value # 在指定元素pivot前/后插入一个元素
# 返回列表元素个数
lrange/linsert 查看列表元素
lrange key start stop 	# 通过索引查看列表元素

lindex key index	# 通过索引查看一个元素

# start 为开始索引,索引从0开始
# stop 为结束索引
# start\stop为负数时,代表倒数第几个元素
# 超出范围不报错,正常显示。stop - start < 0 返回空
lset 修改列表元素
lset key index value 	# 通过索引,修改元素。索引从0开始,索引为负,代表倒数。
# 修改成功返回 OK
lrem 删除列表元素
lrem key count value	# 通过元素值删除多个相同元素,返回删除的个数 

# count 设定删除个数,
# 0表示全部删除,
# 大于0从左侧开始删除,
# 小于0从右侧开始删除
lpop / rpop 弹出一个元素
lpop key	# 弹出左侧第一个元素并返回

rpop key	# 弹出右边第一个元素并返回

set类型:无序集合

无重复数列

sadd 创建集合\添加集合元素
sadd key member [member ...]	# 创建一个集合,添加多个元素
# 返回添加元素的个数
smembers 查看集合所有元素
smembers key	# 查看集合所有元素
srem / spop 删除集合元素
srem key member [member ...]	# 删除一个或多个指定集合元素,返回删除元素的个数
spop key	# 删除一个元素,返回被删除的元素

zset类型:有序集合

无重复数列

zadd 创建有序集合\添加有序集合元素
zadd key score member [score member ...] # 创建一个有序集合,添加多个集合元素
# score 是元素的序号,有序集合元素按序号从小到大排列。
# score 按双精度浮点类型存储,以字符串类型显示。小数部分最长15位。
# 添加成功返回0
zrange 索引查看
zrange key start stop # 通过索引查看集合元素
# start 为开始索引,索引从0开始
# stop 为结束索引
# start\stop为负数时,代表倒数第几个元素
# 超出范围不报错,正常显示。stop - start < 0 返回空
zrangebyscore 序号查看
zrangebyscore key min max [LIMIT offset count]
# 查看指定序号范围内的所有元素
# limit 限制查看个数
# offset 设置从查找结果的第几个元素开始查看,从0开始,为负返回空
# count 设置查看个数
zscore 查看元素序号
zscore key member	# 查看元素的序号 score
zrem 删除元素
zrem key member [member ...] # 删除一个或多个指定元素
# 返回删除元素的个数
zremrangebyscore/ zremrangebyrank 按序号删除元素
zremrangebyscore key min max # 删除指定序号范围内的元素,返回删除的个数

zremrangebyrank key start stop # 按索引删除元素,返回删除的个数
posted @   流水自净  阅读(45)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示