Redis学习8:key通用指令操作、数据库通用指令操作

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: key的基本通用操作:删除 获取 查询是否存在及获取类型

key的基本通用操作:删除 获取 查询是否存在及获取类型


49c98dfdc2ef020e9b666a100873a940_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_15,color_FFFFFF,t_70,g_se,x_16.png

ba235ac79f3b8c051f0999daa41db3f2_6dace36a616643338079ab581e7b467a.png

7983196d380146bacdd9853f5f796135_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_13,color_FFFFFF,t_70,g_se,x_16.png

然后进行一个简单的判断和操作。

key的拓展操作:时效控制性


对于任意一个key都是可以设置其有效期的。

ef65b2113205a4cefa48e7c5bbb8e058_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_12,color_FFFFFF,t_70,g_se,x_16.png

在linux系统中一般使用时间戳来设置他的有效期。也就是expireat key timestamp。

如果ttl str得到的返回值是-2,那么就是代表这个东西已经不存在了。如果这个时候去获取get str,那么得到的就是nil了。

而如果没有设置时间,进行ttl str的一个操作,那么得到的就是一个-1.

pttl是配套使用的milliseconds使用的。

ttl可以返回三个有效值,-2 -1 和剩下的有效值。

key拓展操作:查询模式


keys pattern

keys *:就是查看所有的keys

key ?:匹配一个任意符号

af7eb68ff45de3705182d3051cb7aa64_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_18,color_FFFFFF,t_70,g_se,x_16.png

25d7d4f3503c9e242fbdaca5cb312c8e_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_13,color_FFFFFF,t_70,g_se,x_16.png

如果key以标准形式的命名的话,那么这些就会很方便我们进行一个获取操作。

key的其他操作



66fbada8fcb1f3cb2c0f155afb2c0efc_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_10,color_FFFFFF,t_70,g_se,x_16.png

f1daebf9e6a3b96a6c76e17aead9d3da_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_13,color_FFFFFF,t_70,g_se,x_16.png

改名操作第一个是会重复覆盖掉别人东西的!而第二个是会检查会不会存在。

如果存在,就不给改名。

423eb5ed154bd87c289d1554bb80f372_c9a618a78c7e4171a268e29febaaa64d.png


sort是对数据进行排序,但是并不会更改原始数据的。

sort aa desc就是逆序排序。

通过 help @generic就可以查询其他更多的操作。

数据库通用操作


面临的问题:

key可能会重复。

redis使用过程中,可能会大量数据重复了。

数据不区分种类、类别混在在一起,容易重复或者冲突。

解决方案:

redis为某个服务提供16个数据库,0-15.

每个数据库之间的数据相互独立。

数据库的基本操作


d4b4f8da7b2f3364f842d23230c4a0a5_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_9,color_FFFFFF,t_70,g_se,x_16.png

62ceee0b7f94ccad25e234015e236942_8ec2b436d95c4801b69d8d76684c9f71.png


之前的操作其实是一直对0进行操作的。


echo abcd 就是类似打印日志


ping 就是类似调试联通是否有连接到服务器的


如果没有连接到服务器,检查是否有联通的,那么可以使用ping指令。


因为数据库分类了,那么数据也会有一些操作!


数据移动的操作


8834f5b7c78d9cb45a9104e701172362_84989655e4c94bf29b91475934977614.png


移动一个东西,前提是库里必须要有这个东西。

移动操作前也要搞清楚对面的库里有没有这个东西,如果有是不可以移动的。

数据清除操作

a20fedbfc95a7c5c6419123f303f22ae_d6402bb65c094653abd77276136d0970.png

flushdb是删除本库的命令

flushall是删除全部的库的命令 用不到的。

dbsize就是看数据库有多少个key。


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
JavaScript 关系型数据库 MySQL
❤Nodejs 第六章(操作本地数据库前置知识优化)
【4月更文挑战第6天】本文介绍了Node.js操作本地数据库的前置配置和优化,包括处理接口跨域的CORS中间件,以及解析请求数据的body-parser、cookie-parser和multer。还讲解了与MySQL数据库交互的两种方式:`createPool`(适用于高并发,通过连接池管理连接)和`createConnection`(适用于低负载)。
18 0
|
27天前
|
缓存 监控 NoSQL
【Redis性能瓶颈揭秘】「调优系列」深入分析热Key的排查策略和解决方案
【Redis性能瓶颈揭秘】「调优系列」深入分析热Key的排查策略和解决方案
171606 2
|
1月前
|
SQL 数据库连接 数据库
你不知道ADo.Net中操作数据库的步骤【超详细整理】
你不知道ADo.Net中操作数据库的步骤【超详细整理】
16 0
|
1月前
|
存储 缓存 NoSQL
【Redis】Redis魔法:揭秘Key的自动消失术——过期删除机制解析
【Redis】Redis魔法:揭秘Key的自动消失术——过期删除机制解析
126 0
|
22天前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
|
1天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
ava从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
|
1天前
|
存储 网络协议 关系型数据库
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
|
6天前
|
NoSQL MongoDB Redis
Python与NoSQL数据库(MongoDB、Redis等)面试问答
【4月更文挑战第16天】本文探讨了Python与NoSQL数据库(如MongoDB、Redis)在面试中的常见问题,包括连接与操作数据库、错误处理、高级特性和缓存策略。重点介绍了使用`pymongo`和`redis`库进行CRUD操作、异常捕获以及数据一致性管理。通过理解这些问题、易错点及避免策略,并结合代码示例,开发者能在面试中展现其技术实力和实践经验。
125 8
Python与NoSQL数据库(MongoDB、Redis等)面试问答
|
16天前
|
存储 关系型数据库 MySQL
【mybatis-plus】Springboot+AOP+自定义注解实现多数据源操作(数据源信息存在数据库)
【mybatis-plus】Springboot+AOP+自定义注解实现多数据源操作(数据源信息存在数据库)
|
17天前
|
NoSQL Shell Redis
批量迁移redis实例的key
批量迁移redis实例的key