ASP.NET Core微服务(六)——【redis命令详细列表1】

2022-11-30 19:44:17 浏览数 (1)

ASP.NET Core微服务(六)——【redis操作详细列表1】


目录

ASP.NET Core微服务(六)——【redis操作详细列表1】

Win10 redis测试环境

redis linux测试环境

Redis基础信息

redis选择数据库语法

基础命令

设置字符串保存时间——单位秒

查看key类型

修改key

删除key

查询所有key

exists判断key是否存在于数据库中

move移动指定的key到指定的数据库

incrby自增与decrby自减

当key不存在的时候添加值


Win10 redis测试环境

系统环境:Win10专业版

Redis版本:Redis-x64-3.2.100

服务是【redis-server.exe】,客户端是【redis-cli.exe】 ,想操作redis服务需要一直启动着。

Redis工具:redisdesktopmanager


使用方法,在Redis服务启动的情况下,点开后连接redis服务,输入Name与Adress与port点击OK即可连接。 

redis linux测试环境

linux安装redis(保姆级-安装包方式安装-版本6.2.7-解决aof持久化问题)_红目香薰的博客-CSDN博客

Redis基础信息

redis的默认库有16个,通过【select】命令可以选择对应的数据库,如果没有选择,则在redis-cli中默认使用db0的数据库。我们可以在以下的Redis Desktop工具中看到对应的16个db库。

redis选择数据库语法

基础命令

字符串读写操作

使用set命令写入数据:    set 键 值 使用get命令写入数据:    get 键

代码语言:javascript复制
set userName admin
get userName

这是最基本的字符串操作。Redis的命名规范与常规的命名规范相同,但是Redis支持文件夹分层,可以使用英文的:冒号来做层级区分:

实际看到的效果是:

这样可以通过视图的方式快速查看我们需要的key,毕竟有的时候不方便得用手机操作,手机远程控制电脑点点点还行,要是输入一堆。。。根本无法想象。

设置字符串保存时间——单位秒

语法

代码语言:javascript复制
expire key seconds

使用

代码语言:javascript复制
set userName admin
expire userName 120
ttl userName

这里的ttl是查看对应的key剩余生存时间。

查看key类型

语法

代码语言:javascript复制
type key

使用

代码语言:javascript复制
type userName
set num1 666
type num1

只要是set那么一定是写入的字符串类型:

修改key

修改key依然使用的是set,直接修改即可。

删除key

语法

代码语言:javascript复制
del key

使用

代码语言:javascript复制
del num1
get num1

删除后就无法进行查询了,查到的是nil,nil代表0,也就是没有的意思。

查询所有key

代码语言:javascript复制
keys *

可以遍历当前库的所有的key:

通配符:*(匹配0到多个字符),?(匹配一个字符),[](匹配括号中的一个字符) 

exists判断key是否存在于数据库中

代码语言:javascript复制
exists girlName
exists userName

返回0代表没有,如果返回1则代表有1个。

move移动指定的key到指定的数据库

将我们刚才创建的userName放置到db2中

代码语言:javascript复制
move userName 2

select 2

get userName

select 0

get userName

可以在实例中看到效果: 

incrby自增与decrby自减

自增自减用法相同,如果不使用by的话每次操作单位都是1,如果使用by的话是可以设置步长的。

语法

代码语言:javascript复制
incr key 
incry key number

示例

代码语言:javascript复制
incr num1
get num1
incr num1
get num1

跨越步长

代码语言:javascript复制
incrby num1 5
get num1

这回能看到,步长是5,但是如果继续incr那么依然长度是1

代码语言:javascript复制
incrby num1 5
get num1
incr num1
get num1

当key不存在的时候添加值

这个还是非常好用的,就像一般的时候我们把用户登录的token放在Redis中,如果用户没有登出过那就代表有账号登录,判断是否强行登录即可。

语法

代码语言:javascript复制
setnx key value

使用

代码语言:javascript复制
set userName 666
setnx userName 777
get userName

可以看得出效果很明显 

0 人点赞