Redis 常用命令(键值相关命令、服务器相关命令、sort 排序函数)

18 篇文章 0 订阅
12 篇文章 0 订阅
1. Redis 键值相关命令及操作
序号命令格式解释
1keyskeys pattern返回满足给定要求的所有 key
2existsexists keys确认一个 key 是否存在
3deldel key删除一个 key
4expireexpire key seconds设置一个 key 的过期时间(单位:秒)
5movemove key db当前数据库中的 key 转移到其它数据库中
6persistpersist key移除给定 key 的过期时间
7randomkeyrandomkey随机返回 key 空间的一个 key
8renamerename key new key重命名 key
9typetype key返回值的类型
# 命令演示
## keys
// 用表达式“*”,取出所有 key
keys *			// 返回:
1) "key7"
2) "mycar"
3) "mylist"
4) "myzset3"
...
keys mylist*	// 返回
1) "mylist"
2) "mylist4"
3) "mylist3"
4) "mylist7"
5) "mylist6"
6) "mylist5"
7) "mylist2"

## exists
// 确认一个 key 是否存在
exists wdm		// 返回 (integer) 0
exists name		// 返回 (integer) 1

## del
del name		// 返回 (integer) 1。删除一个 key
exists name		// 返回 (integer) 0

## expire
expire mylist 10	// 返回 (integer) 1。设置 10 秒后过期
ttl mylist			// 返回 (integer) 5。还剩 5 秒过期
ttl mylist			// 返回 (integer) -2。-2 表示已经过期
lrange mylist 0 -1	// 返回 (empty list or set)

## move
// 将当前数据库中的 key 转移到其它数据库中
select 0	// 返回 OK
set age 30	// 返回 OK
get age		// 返回 "30"
move age 1	// 返回 (integer) 1
get age		// 返回 (nil)
select 1	// 返回 OK
get age		// 返回 "30"

## persist
// 移除给定 key 的过期时间
select 0			// 返回 OK
lpush mylist hello	// 返回 (integer) 1
expire mylist 300	// 返回 (integer) 1 
ttl mylist			// 返回 (integer) 295
ttl mylist			// 返回 (integer) 290
persist mylist		// 返回 (integer) 1 
ttl mylist			// 返回 (integer) -1。-1 表示没有过期时间

## randomkey
randomkey	返回 "myset3"。随机返回 key
randomkey	返回 "key4"

## rename
get andy			// 返回 "b"
rename andy andyliu	// 返回 "OK"。重命名 key
get andyliu			// 返回 "b"

## type
type andyliu	// 返回 string
type mylist		// 返回 list
type myset		// 返回 set
type myzset		// 返回 zset

2. Redis 服务器相关命令及操作
序号命令格式解释
1pingping [message]测试连接是否存活
2echoecho message在命令行打印一些内容
3selectselect index选择数据库
4quitquit -退出连接
5dbsizedbsize -返回当前数据库中 key 的数目
6infoinfo section获取服务器的信息和统计
7config getconfig get获取服务器配置信息
8flushdbflushdb删除当前选择数据库中的所有 key
9flushallflushall删除所有数据库中的所有 key
# 命令演示
## ping
ping		// 返回 PONG。测试服务器是否激活

## echo
echo hualaoshuan	// 返回 "hualaoshuan"。打印内容

## select
select 9	// 返回 "OK"。选择数据库,默认 0 。

## dbsize
select 0 	// 返回 "OK"。
dbsize		// 返回  (integer) 34。返回当前数据库 key 的数量

## info
info			// 返回
redis_version:5.0.5
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:xxxxxxxxxxxx
redis_mode:standalone
...

## config get
config get *	// 返回
1) "dbfilename"
2) "dump.rdb"
3) "requirepass"
4) "asdf"
5) "masterauth"
...
214) ""

config get dir	// 返回
1) "dir"
2) "/usr/local/redis/bin"

config get s*	// 返回
1) "slave-announce-ip"
2) ""
3) "stream-node-max-bytes"
4) "4096"
 ...
31) "save"
32) "900 1 300 10 60 10000"
33) "slaveof"
34) ""
// * save 这个参数,900 / 300 / 60 秒至少有 1 /10 / 10000 个 key 被改动,就触发一次 save 操作

## flushdb
// 删除当前数据库所有 key 

## flushall
// 删除所有数据库的所有 key

## quit
// 退出服务器

3. Redis 中 sort 排序函数及操作
序号命令格式解释
1sort keysort key简单的对集合自身值排序并返回排序结果
2descsort key desc按照从大到小的顺序进行排序
3alphasort key alpha按照字典顺序对非数字元素进行排序
4bysort key by pattern按照给定pattern组合成新的key,并按照新key中对应的内容进行排序
5getget pattern获取指定模式(pattern)作为新key对应的值
6limitlimit start count限定返回结果的数量
7storestore dstkey将排序内容保存到指定key中
# 命令演示
## sort
// 对集合自身元素进行排序(从小到大),并返回排序结果
// asc:默认排序,从小到大
// desc: 从大到小
// alpha:按字母顺序排序
lpush mylist 12 11 14 13	// 返回  (integer) 4
sort mylist					// 返回
1) "11"
2) "12"
3) "13"
4) "14"

lpush myphone apple oppo meizu samsung	// 返回 (integer) 4
sort myphone				// 返回 (error) 
sort myphone desc alpha		// 返回
1) "samsung"
2) "oppo"
3) "meizu"
4) "apple"

## by
// 可以将集合内容按照给定的模式组成新的 key,并按照新的 key 中对应的内容进行排序。

// list 在插入之后,默认是按照插入时间顺序的反序进行排列的(插入时间离现在最近排前面)
// 因为元素插入 list 链表的时候,是从左侧插入数据的。
// 如果 by 后面的链表对应的值不是数值类型的时候、没有按照字母顺序排序的时候(参考链表 myphone)
// 会导致排序的分值都是相同的,因为程序把 myphone 的值都转为相同的数值类型
lpush u_id 1 2 35 270		// 返回 (integer) 4
mset u_level_1 999 u_level_2 10 u_level_35 8 u_level_270 9999	 // 返回 OK
sort u_id by u_level_* desc	// 返回
1) "270"
2) "1"
3) "2"
4) "35"

## get
// 只返回响应的 id 是没有什么用的,更希望排序后返回 id 所对应的用户名,这样更友好。
mset u_name_1 jack u_name_2 donmi u_name_270 admin u_name_35 wdm	// 返回 OK
sort u_id by u_level_* desc get u_name_* 	// 返回
1) "admin"
2) "jack"
3) "donmi"
4) "wdm"

## limit
// 限定返回结果的数量
// 首先按照 level 级别把 id 进行倒叙排序,然后显示 id 对应的名字。下标从 1 开始,选择 2 条
sort u_id by u_level_* desc get u_name_* limit 1 2	// 返回
1) "jack"
2) "donmi"

## store
// 将排序内容保存到指定的 key 中,保存的类型是 list
// 缓存排序结果,节省 CPU 开销
sort u_id by u_level_* desc get u_name_* limit 1 2 store cto	// 返回 (integer) 2
type cto			// 返回 list
lrange cto 0 -1		// 返回
1) "jack"
2) "donmi"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值