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 # 按索引删除元素,返回删除的个数
如果觉得本文有用,万望看官慷慨解囊,不吝打赏,激励本编提供更加优质的内容
[点击进行打赏](https://www.cnblogs.com/52note/p/16507868.html)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· 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