欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > redis常用命令

redis常用命令

2025/2/10 2:00:51 来源:https://blog.csdn.net/qq_25096749/article/details/145515298  浏览:    关键词:redis常用命令

redis教程 https://www.yiibai.com/redis/redis_commands.html

0、查看redis版本

# redis-cli --version
redis-cli 2.8.9

0.1、redis数据库、key 和 value的介绍与查看

(1)redis数据库,默认不显示只有有数据的数据库才会显示出来
redis默认有16个数据库,分别是db0 - db15,可以通过命令info查看所有的数据库,通过select 进入指定的数据库# 登录redis
redis-cli -p 6379  -h r-2zef1haaokr2j52v2n.redis.rds.aliyuncs.com -a Redcore@redis  # -a表示密码
r-2zef1haaokr2j52v2n.redis.rds.aliyuncs.com:6379>使用info命令查看到这里有数据的数据库分别是db0 db1 db3
10.1.2.12:6379> info  
# Keyspace
db0:keys=4,expires=0,avg_ttl=0        #db0有4个key
db1:keys=3855523,expires=0,avg_ttl=0  #db1有3855523个key
db3:keys=1,expires=0,avg_ttl=0        #db3有1个key使用select进入数据库
10.1.2.12:6379> select 3             #进入db3,db3编号就是3
OK
10.1.2.12:6379[3]> keys *            #这里的数字[3]表示db3
1) "test"                            #这里只有1个key(2)key和value
每一个数据库可以存放很多个key,每一个key可以存放一个value
10.1.2.12:6379[3]> select 15         #进入db15
OK
10.1.2.12:6379[15]> set name "Alex"   #创建key和value
OK
10.1.2.12:6379[15]> set age 36        #创建key和value
OK
10.1.2.12:6379[15]> keys *           #查看所有的key
1) "age"
2) "name"
10.1.2.12:6379[15]> get name          #查看key的内容
"Alex"
10.1.2.12:6379[15]> info              #再次查看redis所有的数据库
# Keyspace
db0:keys=4,expires=0,avg_ttl=0
db1:keys=3855523,expires=0,avg_ttl=0
db3:keys=1,expires=0,avg_ttl=0
db15:keys=2,expires=0,avg_ttl=0127.0.0.1:6379> config get databases  # 查看有16个数据库
1) "databases"
2) "16"

1、登录redis服务

方法一(适用于多实例):
[root@localhost ~]# /alidata/redis/bin/redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> 方法二(适用于单实例):
[root@localhost ~]# /alidata/redis/bin/redis-cli
127.0.0.1:6379>

2、保存redis当前缓存数据到磁盘

127.0.0.1:6379> save
OK

3、创建key(注意:redis每次创建key时如果是相同的key会进行覆盖操作)

127.0.0.1:6379> set name "Alex"     
OK#set表示创建 
name表示key
Alex表示key的内容

4、查看所有key

#查看redis的所有数据库里面一共有多少个key
10.1.2.12:6379[1]> info
# Keyspace
db0:keys=4,expires=0,avg_ttl=0         #db0里面有4个key
db1:keys=3855523,expires=0,avg_ttl=0   #db1里面有3855523个key
db3:keys=1,expires=0,avg_ttl=0         #db3里面有1个key
db15:keys=2,expires=0,avg_ttl=0        #db15里面有2个key#查看某一个数据库里面都有哪些key
10.1.2.12:6379> select 15          #进入db15
127.0.0.1:6379> dbsize             #查看db15里面一共有几个key
(integer) 2         
127.0.0.1:6379> keys *             #查看db15里面所有key的名称
1) "name"
2) "age"

6、查看指定key的内容

127.0.0.1:6379> get name
"Alex"

7、查看key是否存在(1为存在,0为不存在)

127.0.0.1:6379> exists age
(integer) 1
127.0.0.1:6379> exists age2
(integer) 0

8、查看redis内存消耗

127.0.0.1:6379> info
# Memory
used_memory:15128469488   #redis数据占用了多少内存(字节显示)
used_memory_human:14.09G  #redis数据占用了多少内存(G显示,便于可读性)
used_memory_rss:15497564160  #redis进程占用了多少内存(字节)
used_memory_peak:15164396944   #redis的峰值,最高运行到多大内存(字节)
used_memory_peak_human:14.12G  #redis的峰值,最高运行到多大内存(G显示,便于可读性)
used_memory_lua:33792          #lua引擎所占用的内存大小(字节)
mem_fragmentation_ratio:1.02   #内存碎片率
mem_allocator:jemalloc-3.2.0   #redis内存分配器版本,在编译时指定的。有libc、jemalloc、tcmalloc这3种。

9、设置key的过期时间

(1)先创建一个key
127.0.0.1:6379> set name "oldboy"
OK(2)设置这个key的过期时间为10秒
127.0.0.1:6379> expire name 10             #pexpire可以设置单位为毫秒;expire可以设置单位为秒
(integer) 1(3)查看key的剩余时间还有5秒
127.0.0.1:6379> ttl name                        #ttl以秒显示;pttl以毫秒显示
(integer) 5(4)查看key的剩余时间还有2秒
127.0.0.1:6379> ttl name
(integer) 2(5)10秒过后这个key就被删掉了(-2表示key不存在)
127.0.0.1:6379> ttl name
(integer) -2(6)如果key没有设置过期时间就用-1表示
127.0.0.1:6379> ttl name
(integer) -1

10、查看当前redis的内存限制和内存策略

#当前redis最大内存是没有限制的(0表示不限制)
127.0.0.1:6379> config get maxmemory
1) "maxmemory"
2) "0"#当前reids的内存策略是“volatile-lru”,表示达到最大内存限制后会清除不常用的key
127.0.0.1:6379> config get maxmemory-policy
1) "maxmemory-policy"
2) "volatile-lru"

11、手动添加内存限制和策略

#由于我的物理内存是8G,我这里配置redis的最大内存限制为4G(单位为字节1024B = 1KB)
127.0.0.1:6379> config set maxmemory 4294967296     
OK#将内存策略改为“volatile-ttl”,表示达到最大内存限制后会删除即将过期的key
127.0.0.1:6379> config set maxmemory-policy "volatile-ttl"
OK#再次查看内存限制是否生效
127.0.0.1:6379> config get maxmemory
1) "maxmemory"
2) "4294967296"#再次查看内存策略是否生效
127.0.0.1:6379> config get maxmemory-policy
1) "maxmemory-policy"
2) "volatile-ttl"

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com