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选择数据库语法
基础命令
字符串读写操作
代码语言:javascript复制使用set命令写入数据: set 键 值 使用get命令写入数据: get 键
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
可以看得出效果很明显