0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

linux下Redis常用命令使用

马哥Linux运维 来源:51CTO 2023-12-27 09:56 次阅读

1、redis重启,缓存数据还在,redis清缓存数据:

  redis-cli -h  IP  -p port     ##登录redis
  flushall     #运行flushall,清缓存数据

注:redis重启后,数据还在,因为redis有持久化策略。redis默认开启rdb持久化策略,会产一个rdb.dump文件,重启时会从该文件导入数据。如果是配置了AOF持久化策略,也会产一个相应的文件,redis重启时会优先从这个文件导入数据。

2、redis客户端使用

新建key:
>  set  keyname  “要设置的key的value”
查看key的value
> get  keyname 
删除key
>  del  keyname   
比如下图,keyname=test    value=123

cff53304-a3d8-11ee-8b88-92fbcf53809c.jpg

d008e93a-a3d8-11ee-8b88-92fbcf53809c.jpg

选择redis中db:
>   select  7
查看该db中的所有key:
>  keys  *
切换到redis的db 10,直接select就OK,不需要退出db7:
>  select  10
>  keys *

可以看到db7和db10中没有key

——默认我们直接进入的是redis的 db0,当我们select进入到其他db之后,要想切换为最初进入的状态,只需要select 0,就OK

d01c5d1c-a3d8-11ee-8b88-92fbcf53809c.jpg

可以看到当为db0时,端口后边不跟具体的数据;当为db10时,端口后边跟[10],表示当前在db10

——将redis的key值中的数字值增加1:

d0300cf4-a3d8-11ee-8b88-92fbcf53809c.jpg

——redis,把key中的值序列化:

序列化:把对象转化为可传输的字节序列过程称为序列化。

反序列化:把字节序列还原为对象的过程称为反序列化。

命令:> dump keyname

d037bbf2-a3d8-11ee-8b88-92fbcf53809c.jpg

——检查redis中key是否存在,若key存在返回1,不存在则返回0

d03f7392-a3d8-11ee-8b88-92fbcf53809c.jpg

——给redis的key设置过期时间,以秒为单位,比如下图就是给test1这个key设置10秒后过期,自动删除:

d04f2a3a-a3d8-11ee-8b88-92fbcf53809c.jpg

如图所示10秒后,test1这个key再次查看已经自动删除

——类似上一个功能,给redis的key设置过期时间,但是这个是以unix时间戳的形式设置过期时间,此处推荐一个时间戳在线转换工具:https://tool.lu/timestamp/:

d062197e-a3d8-11ee-8b88-92fbcf53809c.jpg

如图所示,转存时间2021-12-10 1450 为unix时间戳形式为1639116230

d074b1d8-a3d8-11ee-8b88-92fbcf53809c.jpg

——设置key的过期时间,以毫秒为单位

d084c230-a3d8-11ee-8b88-92fbcf53809c.jpg

如果所示,设置过期时间为2000毫秒,即2秒,到时间之后,自动删除key

——设置key过期时间,以毫秒计,时间戳的形式

d09e142e-a3d8-11ee-8b88-92fbcf53809c.jpg

如图,以毫秒为单位,时间转换成时间戳:1639116950000

d0b0f634-a3d8-11ee-8b88-92fbcf53809c.jpg

如图所示,时间一到,key自动删除

——跟Linux中命令类似,查找key中符合条件的key

d0c043d2-a3d8-11ee-8b88-92fbcf53809c.jpg

如图所示,查找以test开头的所有key,用到 keys test* 注意是:keys 不是key

——查看redis中所有key

d0d3c754-a3d8-11ee-8b88-92fbcf53809c.jpg

命令:keys *

——移动当前db中key到其他db中

1,比如db0中有test2,db1中没有test2 #移动的话,后面直接输入1,就表示移动到db1

d0e83630-a3d8-11ee-8b88-92fbcf53809c.jpg

如图所示,test2从db0,移动到了db1 move移动成功,返回1

2、当db不存在时,move移动失败,返回0

d0fe82a0-a3d8-11ee-8b88-92fbcf53809c.jpg

3、当db0和db1存在名字一样的key时,move失败

d1059d9c-a3d8-11ee-8b88-92fbcf53809c.jpg

如图所示,db0和db1中均有name为test2的key,move移动失败,返回0

——以秒为单位,返回key剩余的过期时间(几秒后,key过期)

d121bdba-a3d8-11ee-8b88-92fbcf53809c.jpg

如图所示,设置test2 10秒后过期,ttl查看剩余过期时间,返回 -1表示key存在,但是没有设置过期时间;返回-2表示key不存在,已经到期key自动删除,或者key本来就不存在;返回正整数表示剩余多少秒的生存时间

——以毫秒为单位,返回key剩余的过期时间

d137a922-a3d8-11ee-8b88-92fbcf53809c.jpg

如ttl类似,返回 -1表示key存在,但是没有设置过期时间;返回-2表示key已到期自动删除,或者key本来就不存在;返回正整数,表示具体剩余的毫秒数

——移除key设置的过期时间,使key永久生效

d1490a46-a3d8-11ee-8b88-92fbcf53809c.jpg

如图,先给test设置过期时间,然后persist 命令移除过期时间后,ttl查看test显示-1,key存在,但是没有设置过期时间

——从当前db中随机返回一个key,当db不为空时,随机返回一个key,当db为空时,返回nil,(Windows系统返回null)

d1636c9c-a3d8-11ee-8b88-92fbcf53809c.jpg

——key重命名

1、key存在,且newkey不存在

d16dd7fe-a3d8-11ee-8b88-92fbcf53809c.jpg

2、key不存在时

d17fce0a-a3d8-11ee-8b88-92fbcf53809c.jpg

3、key存在,且newkey存在,则重命名会覆盖原有的newkey

d18f652c-a3d8-11ee-8b88-92fbcf53809c.jpg

如图所示,test,test1两个key均存在,rename test为test1

——重命名key,且仅当newkey名不存在时,改命令可用:

d1a0243e-a3d8-11ee-8b88-92fbcf53809c.jpg

如图所示,当newkey不存在时,重命名成功;当newkey存在时,返回0,未重命名成功

——Redis查看有多少个DB:

两种方法:

方法一:通过Redis配置文件查看

猫 /etc/redis/redis.conf

d1b92a06-a3d8-11ee-8b88-92fbcf53809c.jpg

方法二:通过登录redis,命令查看

[root@localhost bin]# redis-cli -a “密码” ##登录redis

127.0.0.1:6379> 配置获取数据库

1)“数据库”

2)“16”

可以看到上边,通过命令查看,可以看到有16个DB

链接:https://blog.51cto.com/u_14175560/8983106








审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux系统
    +关注

    关注

    4

    文章

    593

    浏览量

    27367
  • Redis
    +关注

    关注

    0

    文章

    371

    浏览量

    10858

原文标题:linux下Redis常用命令

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    linux常用命令

    linux常用命令
    发表于 08-20 22:53

    Linux常用命令

    Linux常用命令
    发表于 05-08 14:39

    Redis常用命令有哪些

    Redis常用命令
    发表于 06-05 15:55

    嵌入式Linux常用命令

    嵌入式Linux常用命令,比较基础,非常实用,适合新手学习。
    发表于 11-24 15:22 3次下载

    Linux终端常用命令大全

    Linux终端常用命令大全,通俗易懂,容易上手。包含所有命令,方便查找各个指令功能。
    发表于 04-28 16:30 15次下载

    vim常用命令

    vim常用命令
    发表于 01-08 15:59 3次下载

    redis常用命令总结

    本文是对redis常用命令总结。
    发表于 02-09 11:25 1597次阅读

    Linux教程之Linux常用命令大全

    Linux教程之Linux常用命令大全
    的头像 发表于 03-30 10:34 5663次阅读

    Linux环境U-boot常用命令讲解的详细资料说明

    本文档的主要内容详细介绍的是Linux环境U-boot常用命令讲解的资料说明。
    发表于 06-21 08:00 1次下载
    <b class='flag-5'>Linux</b>环境<b class='flag-5'>下</b>U-boot<b class='flag-5'>常用命令</b>讲解的详细资料说明

    Linux常用命令大全详细说明

    Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令
    发表于 09-24 08:00 5次下载
    <b class='flag-5'>Linux</b>的<b class='flag-5'>常用命令</b>大全详细说明

    linux常用命令手册

    linux常用命令手册免费下载。
    发表于 06-01 14:59 68次下载

    linux常用命令大全

    linux常用命令大全,一些常用命令都可以找到
    发表于 03-03 09:20 0次下载

    Linux常用命令

    Linux常用命令
    的头像 发表于 01-12 11:19 1127次阅读

    Linux常用命令手册分享

    linux常用命令合集
    发表于 04-26 11:46 1次下载

    linux常用命令及用法

    Linux是一种开源的操作系统,它以稳定、高效和安全的特点受到广大用户的喜爱。掌握Linux常用命令及其用法对于操作系统的管理和开发都至关重要。本文将详尽、详实、细致地介绍Linux
    的头像 发表于 11-17 09:47 632次阅读