中间件专栏之redis篇——redis基本原理、概念及其相关命令介绍

news/2025/2/25 4:46:18

一、redis是什么

redis是remote dictionary service的简称,中文翻译为远程字典服务;

redis是一种数据库,若按照类型来归类,则其可以被归入三个类型数据库,分别为:内存数据库、KV数据库、数据结构数据库;内存数据库表示redis的数据是存储在内存中(相较于存储在磁盘中速度大约快10w倍),KV数据库表示redis存储数据的方式为“key-value”的hash表结构,每个key对应一个value;数据结构数据库表示redis存储的数据类型(即value的类型)有多种,包括string、list、hash、set、zset等。

redis的应用非常广泛,很多大型公司如twitter、GitHub、腾讯、阿里巴巴、京东、华为以及众多中小型公司都在使用。

二、redis的应用

在业务开发中,redis中的不同数据结构可以为不同的业务逻辑场景来赋能,比如:

使用hash数据结构(适用于对象有多个属性)记录朋友圈点赞数、评论数和点击数;

使用list数据结构(适用于插入有序的场景)快速显示朋友圈;

记录文章的标题、摘要、作者、封面,用于页面展示,也是用hash,因为也是有多个属性的场景;

通过set数据结构的交并差集来实现记录好友关系(set是集合,所以可以对其进行数学上的集合运算);

……

三、redis的数据结构

如图所示,redis是通过key来索引对应的value,而value有多种数据类型供选择,图中是常见的五种。

string是一个安全的二进制字符串;

双端队列(链表)list是插入有序的;

散列表hash对顺序不关注,但是其field是唯一的;

无序结合set对顺序不关注,里面的值都是唯一的;

有序集合zset对顺序是关注的,里面的值是唯一的,根据member唯一性实现去重,根据score来确定有序。 

四、redis的相关命令

string数据类型相关命令:

SET key value
GET key
INCR key
DECR key
APPEND key value
MSET key1 value1 key2 value2
MGET key1 key2
SETEX key seconds value
GETSET key value

list数据类型相关命令:

LPUSH key value
RPUSH key value
LPOP key
RPOP key
LRANGE key start stop
LLEN key
LREM key count value
LSET key index value

hash数据类型相关命令:

HSET key field value
HGET key field
HGETALL key
HDEL key field
HINCRBY key field increment
HKEYS key
HVALS key
HEXISTS key field

set数据类型相关命令:

SADD key member1 member2
SREM key member
SMEMBERS key
SISMEMBER key member
SCARD key
SPOP key
SDIFF key1 key2
SUNION key1 key2

zset数据类型相关命令:

ZADD key score member
ZRANGE key start stop
ZREVRANGE key start stop
ZREM key member
ZINCRBY key increment member
ZCARD key
ZSCORE key member
ZRANK key member
ZREVRANK key member
ZRANGEBYSCORE key min max

总结:

  • StringSET, GET, INCR, DECR, MSET, MGET
  • ListLPUSH, RPUSH, LPOP, RPOP, LRANGE, LLEN
  • SetSADD, SREM, SMEMBERS, SISMEMBER, SCARD, SPOP
  • HashHSET, HGET, HGETALL, HDEL, HINCRBY, HKEYS
  • ZSetZADD, ZRANGE, ZREVRANGE, ZREM, ZINCRBY, ZRANK

每个指令的具体解释本文不作详细介绍,读者可以自行查阅相关资料。 


http://www.niftyadmin.cn/n/5864975.html

相关文章

8.日常英语笔记

ribs 排骨 he broke a few ribs in the accident we had barbecued ribs for dinner 我们晚餐吃了排骨烤排骨 肋条,辐条 The ribs of the umbrella are made of metal pan 平底锅 I used a pan to fry the eggs 烤盘 Put the cake pan in the oven 把蛋糕烤盘放到烤…

C#初级教程(4)——流程控制:从基础到实践

1.为什么需要流程控制 有时候,需要根据程序运行时的具体环境,有选择地执行不同代码段;而有时候,则需要反复执行同一段代码。这时候,流程控制中的分支和循环就发挥了关键作用。分支能让代码根据条件判断结果来决定执行路…

欢乐力扣:同构字符串

文章目录 1、题目描述2、 代码 1、题目描述 同构字符串。给定两个字符串 s 和 t ,判断它们是否是同构的。如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。  每个出现的字符都应当映射到另一个字符,同时不改变字符…

【深度学习】Adam和AdamW优化器有什么区别,以及为什么Adam会被自适应学习率影响

Adam 和 AdamW 的主要区别在于 权重衰减(Weight Decay) 的实现方式,具体如下: 1. 权重衰减(Weight Decay)处理方式 Adam:采用 L2 正则化,通过在梯度更新时手动添加 weight_decay 项…

Ollama Open WebUI

Open WebUI 用户友好的 AI 界面(支持 Ollama、OpenAI API 等)。 Open WebUI 支持多种语言模型运行器(如 Ollama 和 OpenAI 兼容 API),并内置了用于检索增强生成(RAG)的推理引擎,使其…

JPA与存储过程的完美结合

在现代的Java开发中,JPA(Java Persistence API)已经成为ORM(对象关系映射)的主流选择之一。它不仅简化了数据库操作,还提供了强大的功能来与数据库交互。今天,我们将深入探讨如何通过NamedStore…

安全见闻5

今天学了Windows操作系统和驱动程序的相关知识 Windows注册表 注册表是windows系统中具有层次结构的核心数据库 储存的数据对windows 和Windows上运行的应用程序和服务至关重要。注册表时帮助windows控制硬件、软件、用户环境和windows界面的一套数据文件。 打开注册表编辑器…

搭建Docker Harbor仓库

搭建 Docker Harbor 仓库是一个常见的需求,Harbor 是一个企业级的 Docker 镜像仓库,提供了镜像管理、用户权限控制、漏洞扫描等功能。以下是详细的搭建步骤: 1. 环境准备 操作系统:Ubuntu 20.04 或更高版本(或其他 Li…