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

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容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数据库实现在线游戏中的游戏玩家积分排行榜功能。
相关文章
|
5月前
|
存储 NoSQL 数据库
Redis 逻辑数据库与集群模式详解
Redis 是高性能内存键值数据库,广泛用于缓存与实时数据处理。本文深入解析 Redis 逻辑数据库与集群模式:逻辑数据库提供16个独立存储空间,适合小规模隔离;集群模式通过分布式架构支持高并发和大数据量,但仅支持 database 0。文章对比两者特性,讲解配置与实践注意事项,并探讨持久化及性能优化策略,助你根据需求选择最佳方案。
186 5
|
6月前
|
缓存 NoSQL Java
Redis应用—6.热key探测设计与实践
热key问题在高并发系统中可能导致数据层和服务层的严重瓶颈,如Redis集群瘫痪和用户体验下降。为解决此问题,京东开发了JdHotkey热key探测框架,具备实时性、准确性、集群一致性和高性能等特点。该框架由etcd集群、Client端jar包、Worker端集群和Dashboard控制台组成,通过分布式计算快速识别热key并推送至应用内存,有效减轻数据层负载,提升服务性能。JdHotkey适用于多种场景,安装部署简便,支持毫秒级热key探测和集群一致性维护。
304 61
Redis应用—6.热key探测设计与实践
|
3月前
|
NoSQL 测试技术 Redis
Redis批量删除Key的三种方式
Redis批量删除Key是优化数据库性能的重要操作,本文介绍三种高效方法:1) 使用通配符匹配(KEYS/SCAN+DEL),适合不同数据规模;2) Lua脚本实现原子化删除,适用于需要事务保障的场景;3) 管道批量处理提升效率。根据实际需求选择合适方案,注意操作不可逆,建议先备份数据,避免内存溢出或阻塞。
|
6月前
|
NoSQL Java Redis
Redis Pipeline介绍 ---- 提高操作Redis数据库的执行效率。
Redis Pipeline是提高Redis执行效率的重要技术,通过批量发送命令,显著减少了网络往返次数,提高了系统的吞吐量和性能。在实际应用中,合理使用Pipeline可以有效优化Redis的性能,特别是在需要批量操作的场景下。本文通过Python和Java的示例代码展示了如何实现和使用Redis Pipeline,为开发者提供了具体的操作指南。
266 16
|
7月前
|
缓存 NoSQL Redis
Redis原理—2.单机数据库的实现
本文概述了Redis数据库的核心结构和操作机制。
Redis原理—2.单机数据库的实现
|
6月前
|
消息中间件 缓存 NoSQL
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
|
8月前
|
存储 缓存 NoSQL
云端问道21期方案教学-应对高并发,利用云数据库 Tair(兼容 Redis®*)缓存实现极速响应
云端问道21期方案教学-应对高并发,利用云数据库 Tair(兼容 Redis®*)缓存实现极速响应
219 1
|
8月前
|
NoSQL API Redis
在C程序中实现类似Redis的SCAN机制的LevelDB大规模key分批扫描
通过上述步骤,可以在C程序中实现类似Redis的SCAN机制的LevelDB大规模key分批扫描。利用LevelDB的迭代器,可以高效地遍历和处理数据库中的大量键值对。该实现方法不仅简单易懂,还具有良好的性能和扩展性,希望能为您的开发工作提供实用的指导和帮助。
115 7
|
9月前
|
存储 JSON NoSQL
学习 MongoDB:打开强大的数据库技术大门
MongoDB 是一个基于分布式文件存储的文档数据库,由 C++ 编写,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。它与 MySQL 类似,但使用文档结构而非表结构。核心概念包括:数据库(Database)、集合(Collection)、文档(Document)和字段(Field)。MongoDB 使用 BSON 格式存储数据,支持多种数据类型,如字符串、整数、数组等,并通过二进制编码实现高效存储和传输。BSON 文档结构类似 JSON,但更紧凑,适合网络传输。
223 15
|
10月前
|
消息中间件 缓存 NoSQL
Redis 高并发竞争 key ,如何解决这个难点?
本文主要探讨 Redis 在高并发场景下的并发竞争 Key 问题,以及较为常用的两种解决方案(分布式锁+时间戳、利用消息队列)。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
Redis 高并发竞争 key ,如何解决这个难点?