【Redis命令的基本使用实践、Redis的五种基本数据类型、各种常用的命令汇总】

通过Docker在Linux操作系统上部署Redis详细步骤已在前面的文章中详细讲解

https://blog.csdn.net/Coder_ljw/article/details/127248830

Docker通过命令进入容器

docker exec -it redis redis-cli

#进入容器后通过ping来测试一下
#redis给回应pong

在这里插入图片描述

Redis数据都是Key-Value对,Value的数据类型有以下五种:

数据类型说明
String是Redis中最基本的数据类型,二进制安全的,它可以包含任意数据类型。如图片。Redis中String类型的数据上限的512M。
ListRedis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。
Hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。
SetSet 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
ZSet有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

命令来自于官网,可以大致看一下官网网站

Redis官网网站各种命令详解

创建key-value命令

127.0.0.1:6379> select 0
OK
127.0.0.1:6379> set name zhangsan
OK
127.0.0.1:6379> get name
"zhangsan"
127.0.0.1:6379> 

在这里插入图片描述

select index(0-15)

在redis中,默认一共有16个数据库,编号为0-15,正常情况下,用户登录成功后,首先看到的是0号库,可以手动切换为其他库并使用

127.0.0.1:6379> select 0
OK
127.0.0.1:6379> set name lisi
OK
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379> get name
"lisi"
127.0.0.1:6379> select 3
OK
127.0.0.1:6379[3]> set name1 zhangsan1
OK
127.0.0.1:6379[3]> get name1
"zhangsan1"
127.0.0.1:6379[3]> get name
(nil)
127.0.0.1:6379[3]> 

在这里插入图片描述

DEL命令

该命令用于当 key 存在时删除 key,如果key存在,删除成功返回1,不成功返回0、如果key不存在也返回0。

127.0.0.1:6379> SELECT 3
OK
127.0.0.1:6379[3]> keys *
1) "name1"
127.0.0.1:6379[3]> del name1
(integer) 1
127.0.0.1:6379[3]> del name1
(integer) 0
127.0.0.1:6379[3]> del name
(integer) 0
127.0.0.1:6379[3]> 

DUMP命令

序列化给定 key ,并返回被序列化的值。如果key是不存在的,直接返回nil。

127.0.0.1:6379[3]> select 0
OK
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379> dump name
"\x00\x04lisi\t\x00\xd2p\xcc\xfe6\x8d\xd9\x15"
127.0.0.1:6379> dump teacher
(nil)

在这里插入图片描述

EXISTS命令

检查key是否存在,如果存在返回1,如果不存在返回0

127.0.0.1:6379> exists name
(integer) 1
127.0.0.1:6379> exists name11
(integer) 0
127.0.0.1:6379> 

在这里插入图片描述

TTL命令

以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。
-2表示key不存在,-1表示没有设置有效时间,不会过期,我们可以通过EXPIRE key 设置有效时间。

127.0.0.1:6379> ttl name
(integer) -1
127.0.0.1:6379> ttl name2
(integer) -2
127.0.0.1:6379> 

EXPIRE

设置key的有效时间,单位秒,如果key的有效时间没了,返回-2,此时key已经不存在了。

127.0.0.1:6379> expire name 150
(integer) 1
127.0.0.1:6379> ttl name
(integer) 142
127.0.0.1:6379> ttl name
(integer) 140
127.0.0.1:6379> ttl name
(integer) 136
127.0.0.1:6379> ttl name
(integer) 133
127.0.0.1:6379> expire name 30
(integer) 1
127.0.0.1:6379> ttl name
(integer) 23
127.0.0.1:6379> ttl name
(integer) 19
127.0.0.1:6379> tttl name
(error) ERR unknown command `tttl`, with args beginning with: `name`, 
127.0.0.1:6379> ttl name
(integer) 11
127.0.0.1:6379> ttl name
(integer) -2

在这里插入图片描述

PEXPIRE

设置key的有效时间,单位毫秒,如果key的有效时间没了,返回-2,此时key已经不存在了。

127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> set name zhangsan
OK
127.0.0.1:6379> get name
"zhangsan"
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379> pexpire name 60
(integer) 1
127.0.0.1:6379> ttl name
(integer) -2
127.0.0.1:6379> 

在这里插入图片描述

PTTL

和ttl命令一样,只是返回单位是毫秒

127.0.0.1:6379> set name lisi
OK
127.0.0.1:6379> get name
"lisi"
127.0.0.1:6379> expire name 30
(integer) 1
127.0.0.1:6379> pttl name
(integer) 25508
127.0.0.1:6379> pttl name
(integer) 23062
127.0.0.1:6379> pttl name
(integer) 21332
127.0.0.1:6379> pttl name
(integer) 19974
127.0.0.1:6379> expire name 3
(integer) 1
127.0.0.1:6379> pttl name
(integer) -2
127.0.0.1:6379> 

在这里插入图片描述

Keys

查找当前select index 下所有的key

127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> set username zhangsan
OK
127.0.0.1:6379> set password XXXXXXX
OK
127.0.0.1:6379> set email wersdfarf@qq.com
OK
127.0.0.1:6379> keys *
1) "password"
2) "email"
3) "username"
127.0.0.1:6379> 

在这里插入图片描述

RANDOMKEY

从当前数据库中随机返回一个key

127.0.0.1:6379> keys *
1) "password"
2) "email"
3) "username"
127.0.0.1:6379> randomkey
"email"
127.0.0.1:6379> randomkey
"username"
127.0.0.1:6379> randomkey
"password"
127.0.0.1:6379> randomkey
"email"
127.0.0.1:6379> randomkey
"email"
127.0.0.1:6379> randomkey
"email"
127.0.0.1:6379> randomkey
"email"
127.0.0.1:6379> 

在这里插入图片描述

TYPE命令

如果key存在,返回key对应的数据类型,如果不存在,返回的是none。

127.0.0.1:6379> randomkey
"password"
127.0.0.1:6379> type password
string
127.0.0.1:6379> randomkey
"email"
127.0.0.1:6379> type email
string
127.0.0.1:6379> randomkey
"password"
127.0.0.1:6379> type password
string
127.0.0.1:6379> randomkey
"email"
127.0.0.1:6379> randomkey
"username"
127.0.0.1:6379> type username
string
127.0.0.1:6379> type user
none
127.0.0.1:6379> 


在这里插入图片描述

RENAME

修改当前key的名称

127.0.0.1:6379> keys *
1) "password"
2) "email"
3) "username"
127.0.0.1:6379> get username
"zhangsan"
127.0.0.1:6379> rename username user_name
OK
127.0.0.1:6379> keys *
1) "password"
2) "email"
3) "user_name"
127.0.0.1:6379> get username
(nil)
127.0.0.1:6379> get user_name
"zhangsan"
127.0.0.1:6379> 

在这里插入图片描述

flushdb

清空当前库中所有的key

127.0.0.1:6379> keys *
1) "password"
2) "email"
3) "user_name"
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> 

在这里插入图片描述

flushall

清空redis中0-15这16个库中所有的数据,谨慎使用。

127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> select 0
OK
127.0.0.1:6379> set name zhangsan
OK
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> set name lisi
OK
127.0.0.1:6379[1]> keys *
1) "name"
127.0.0.1:6379[1]> flushall
OK
127.0.0.1:6379[1]> keys *
(empty array)
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> 

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

硕风和炜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值