linux中redis常用命令

linux中redis常用命令,第1张

linux中redis常用命令 全局 *** 作

查询键

# 查询所有的键,遍历所有的键
keys * 

127.0.0.1:6379> keys *

  1. “backup4”
  1. “backup3”
  1. “backup2”

127.0.0.1:6379>

查询键总数,直接获取redis内置的键总数变量

dbsize

127.0.0.1:6379> dbsize

(integer) 3

127.0.0.1:6379>

判断键是否存在

# 存在返回1,不存在返回0
exists key

127.0.0.1:6379> exists k1

(integer) 1

127.0.0.1:6379>

删除键

# 返回结果为成功删除键的个数
del key [key列表]

127.0.0.1:6379> del k1

(integer) 1

127.0.0.1:6379> keys *

  1. “backup4”
  1. “backup3”
  1. “backup2”

127.0.0.1:6379>

键过期

# 当超过过期时间,会自动删除,key在seconds秒之后过期
expire key seconds
# 键在秒级时间戳timestamp后过期
expireat key timestamp
# 当超过过期时间,会自动删除,key在milliseconds毫秒后过期
pexpire key milliseconds 
# key在毫秒级时间戳timestamp后过期
pexpireat key milliseconds-timestamp key
# ttl命令可以查看键的剩余过期时间,单位秒
# >0 标识剩余过期时间,-1没有设置过期时间,-2键不存在
# pttl 毫秒级过期时间



键的数据结构类型

# 如果helo是字符串,返回string,如果键不存在返回none
type key

键重命名

# key:原来的key名称
# newkey:新的key名称,只有newkey不存在时候才会覆盖
rename key newkey


随机返回一个键

randomkey

127.0.0.1:6379> randomkey

“backup3”

127.0.0.1:6379> randomkey

“setdemo”

127.0.0.1:6379> randomkey

“list”

遍历键

全量遍历

keys命令的原理就是扫描整个redis里面所有的db的key数据,然后根据我们的通配的字符串进行模糊查找出来

redis中允许模糊查询的有3个通配符,分别是:*,?,[]

渐进式遍历

SCAN 命令是一个基于游标的迭代器(cursor based iterator): SCAN 命令每次被调用之后, 都会向用户返回一个新的游标, 用户在下次迭代时需要使用这个新游标作为 SCAN 命令的游标参数, 以此来延续之前的迭代过程。当 SCAN 命令的游标参数被设置为 0 时, 服务器将开始一次新的迭代, 而当服务器向用户返回值为 0 的游标时, 表示迭代已结束

清除Redis所有缓存

flushall

查看redis服务是否启动

ps -aux | grep redis

检查键是否存在

exists key 存在返回1,不存在返回0
字符串 String
SET			--存入一个字符串键
SETNX		--存入一个字符串键,若Key存在则 *** 作失败
GET			--获取指定Key的字符串
MSET		--批量存入字符串键
MGET		--批量获取指定Key的字符串
DEL			--删除指定Key(所有类型都可以使用此命令)

127.0.0.1:6379> set k2 v2
OK
127.0.0.1:6379> get k2
"v2"
127.0.0.1:6379> set k3 12
OK
127.0.0.1:6379> get k3
"12"
127.0.0.1:6379> set k4 12.24
OK
127.0.0.1:6379> get k4
"12.24"
127.0.0.1:6379> set k5 23.12f
OK
127.0.0.1:6379> get k5
"23.12f"
127.0.0.1:6379> set k6 true
OK
127.0.0.1:6379> get k6
"true"
127.0.0.1:6379> get k11
"v1"
127.0.0.1:6379> get k22
"v3"
127.0.0.1:6379> del key11
(integer) 1
127.0.0.1:6379> mget k4 k6
1) "12.24"
2) "true"
127.0.0.1:6379> set k1 k2
OK
127.0.0.1:6379> setnx k1 v11
(integer) 0
列表 List
LPUSH Key value [value...]			--往key的列表键中左边放入一个元素,key不存在则新建
RPUSH Key value [value...]			--往key的列表键中右边放入一个元素,key不存在则新建
LPOP Key							--从key的列表键最左端d出一个元素
RPOP Key							--从key的列表键最右端d出一个元素
LRANGE Key start stop				--获取列表键从start下标到stop下标的元素

eg:案例说明
127.0.0.1:6379> lpush list1 99
(integer) 10
127.0.0.1:6379> lpop list1
"99"
127.0.0.1:6379> rpop list1
"l44"
127.0.0.1:6379> lpush list1 87
(integer) 9
127.0.0.1:6379> lrange list1 0 10
1) "87"
2) "23"
3) "l4"
4) "l3"
5) "l2"
6) "l1"
7) "l11"
8) "l22"
9) "l33"

无序集合 SET
SADD Key member [member...]			--往集合键key中存放元素,若key不存在则新建
SREM Key member [member...]			--从集合键key中删除元素
SMEMBERS Key						--获取集合键key中的所有元素
SCARD Key							--获取集合键key中的元素个数
SISMEMBER Key member				--判断{member}元素是否存在于集合键key中
SRANDMEMBER Key [count]				--从集合键key中选出{count}个元素,不从集合键key中删除
SPOP Key [count]					--从集合键key中选出{count}个元素,并且从集合键key中删除
eg:案例说明
127.0.0.1:6379> sadd set001 1
(integer) 1
127.0.0.1:6379> sadd set001 2 3 4
(integer) 3
127.0.0.1:6379> srem set001 1
(integer) 1
127.0.0.1:6379> smembers set001
1) "2"
2) "3"
3) "4"
127.0.0.1:6379> scard set001
(integer) 3
127.0.0.1:6379> sismember set001 1
(integer) 0
127.0.0.1:6379> sismember set001 2
(integer) 1
127.0.0.1:6379> srandmember set001 2
1) "4"
2) "2"
127.0.0.1:6379> srandmember set001 2
1) "3"
2) "2"
127.0.0.1:6379> spop set001 1
1) "3"
127.0.0.1:6379> srandmember set001 1
1) "2"
127.0.0.1:6379> smembers set001
1) "2"
2) "4"
散列表 HASH
hash
HSET			--存入一个key filed 散列结构
HSETNX			--存入一个key field,若key中filed已经存在则 *** 作失败
HGET			--获取指定key field
HMSET			--批量存入key filed
HMGET			--批量获取key filed
HDEL			--删除指定Key filed
HINCRBY			--对key field的数值进行加减 *** 作
eg:案例练习
127.0.0.1:6379> hset hset002 name '24dsf'
(integer) 1
127.0.0.1:6379> hget hset002 name
"24dsf"
127.0.0.1:6379> hmset hset002 age 98.2f sex 'nan'
OK
127.0.0.1:6379> hmget hset002 age sex
1) "98.2f"
2) "nan"
127.0.0.1:6379> hdel hset002 s1
(integer) 1
127.0.0.1:6379> hset hset002 age1 98
(integer) 1
127.0.0.1:6379> hincrby hset002 age1 2
(integer) 100
有序集合 ZSET
ZADD Key score element [...]			--往有序集合键key中存放元素,若key不存在则新建
ZREM Key element [element...]			--从有序集合键key中删除元素
ZSCORE Key element						--获取有序集合键key中{element}元素的score值
ZINCRBY Key increment element			--给有序集合键key中{element}元素进行score值 *** 作,若key不存在则新建,{element}元素不存在则新增后进行score值 *** 作
ZCARD Key								--获取有序集合键key中元素个数
ZRANGE Key start stop [WITHSCORES]		--正序获取有序集合键key中从start下标到end下标的元素
ZREVRANGE Key start stop [WITHSCORES]	--倒序获取有序集合键key中从start下标到end下标的元素
# 添加
127.0.0.1:6379> zadd  zset001 1 redis
(integer) 1
127.0.0.1:6379> zadd zset001 2 mysql
(integer) 1
127.0.0.1:6379> zadd zset001 3 oracle
(integer) 1
# 删除
127.0.0.1:6379> zrem zset001 mysql
# 查找指定元素的score
(integer) 1
127.0.0.1:6379> zscore zset001 redis
"1"
127.0.0.1:6379> zcard zset001
(integer) 2
127.0.0.1:6379> zrange zset001 0 1
1) "redis"
2) "mongodb"
127.0.0.1:6379> zrange zset001 0 0
1) "redis"
pub/sub(发布,订阅)
1、publish channel message           发布消息    eg:publish channel:sports 'I want to go eatting'
2、subscribe channel [channel .....]     订阅消息    eg: subscribe channel:sports
3、unsubscribe channel [channel .....]   取消订阅
4、psubscribe pattern [pattern ......]    按照模式订阅
5、unpsubscribe pattern [pattern ......]  按照模式取消订阅
6、查询订阅
 pubsub channels                    查看活跃的频道
   192.168.225.128:6379> pubsub channels
   1) "channel:sports"
   2) "__sentinel__:hello"
  pubsub numsub [channel ......]        查看频道订阅数  pubsub numsub channel:sports
  pubsub numpat                    查看模式订阅数
7、说明:
   客户端在执行订阅命令之后进入了订阅状态,只能接收四个命令:subscribe、psubscribe、unsubscribe、punsubscribe;
   新开启的订阅客户端,无法收到该频道之前的消息,因为redis不会对发布的消息进行持久化。
事务
# 取消执行事务块内的所有命令
discard    
# 执行事务块内的命令
exec 
#  标记一个事务块的开始
multi  
# 取消watch命令对所有key的监视
unwatch 
# 监视一个或者多个key,如果事务执行之前,这个kye被其它命令所动,则事务被打断
watch key [key ...]  
服务器
# 后台异步保存数据到硬盘
bgsave
# 为连接设置、获取名字
client setname/client getname
# 关闭地址为ip:port的客户端
client kill ip:port
# 以人类可读的方式,返回所有的连接客户端信息和统计数据
client list
# 取得运行redis服务器的配置参数
config get parameter
# 设置redis服务器的配置参数
config set parameter value
# 重置info命令的某些统计数据
config resetstat
# 返回当前数据库key数量
dbsize
# 清空整个redis服务器的数据
flushall
# 清空整个当前redis服务器的数据
flushdb
# 返回redis服务器的各种信息和统计数据
info [section]
# 返回最近一次redis成功将数据保存到磁盘时的时间
lastsave
# 实时打印出redis服务器接收到的命令
monitor
# 将当前redis实例所有数据快照(snapshot)以rdb文件
save
# 将当前服务器转变为指定服务器的从属服务器
slaveof host port
# redis用来记录查询执行时间的日志系统
slowlog subcommand [argument]
连接 Connection
# 登录redis输入密码
auth password
# 打印特定信息message,测试时候使用
echo message
# 测试与服务器连接,如果成功返回pong
ping
# 请求服务器关闭与当前客户端连接
quit
# 切换到制定数据库
select index

redis常用命令
redis中scan和keys区别
个人网站

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5682671.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存