Redis入门指南

Redis(Remote Dictionary Server)是一个开源的高性能键值对存储系统,它支持多种数据结构,如字符串、哈希、列表、集合、有序集合等。Redis因其快速的读写能力、丰富的数据类型和灵活的操作而广泛应用于缓存、消息队列、实时分析等场景。本文将带你入门Redis的基本概念、安装配置和常用操作。

1. Redis简介

Redis是一个基于内存的数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis的主要特点包括:

  • 高性能:Redis的数据存储在内存中,因此读写速度非常快。
  • 持久化:Redis支持数据持久化,可以将内存中的数据保存到磁盘上,以防止数据丢失。
  • 多种数据结构:Redis支持多种数据结构,如字符串、哈希、列表、集合、有序集合等。
  • 原子操作:Redis的所有操作都是原子性的,保证了操作的可靠性。
  • 丰富的功能:Redis提供了发布/订阅、事务、Lua脚本、过期键处理等功能。

2. 安装Redis

2.1 在Linux上安装Redis

在Ubuntu上安装Redis非常简单,可以使用以下命令:

sudo apt update sudo apt install redis-server 

​sudo apt update​ 后面紧跟着 ​sudo apt install redis-server​,这意味着在安装 ​redis-server​ 之前,你先更新了软件包索引,以确保安装的是最新版本的 ​redis-server​。这是一种良好的实践,可以避免安装过时的软件包,并确保系统安全和稳定。

​2.2 在Windows上安装Redis

Redis官方不提供Windows版本的安装包,但可以通过以下步骤在Windows上安装Redis:

  1. 下载Windows版本的Redis:https://github.com/tporadowski/redis/releases
  2. 解压下载的文件。
  3. 运行 ​redis-server.exe​启动Redis服务器。

3. 配置Redis

Redis的配置文件通常位于 ​/etc/redis/redis.conf​。你可以根据需要修改配置文件,例如修改绑定地址、端口号、持久化策略等。修改之前记得备份文件,以免修改错误无法启动redis服务!!!

sudo nano /etc/redis/redis.conf 

​4. 连接到Redis

你可以使用 ​redis-cli​命令行工具连接到Redis服务器:

redis-cli 

​连接成功后,你可以看到Redis的命令行提示符:

127.0.0.1:6379> 

5. 常用操作

5.1 字符串操作

字符串是Redis最基本的数据类型,你可以使用以下命令进行操作:

# 设置键值对 
SET mykey "Hello, Redis!" 
# 获取键值对 
GET mykey 
# 删除键值对 
DEL mykey 

​5.2 哈希操作

哈希是一个键值对的集合,适合存储对象:

# 设置哈希字段 
HSET user:1 name "lihua" age 25 
# 获取哈希字段 
HGET user:1 name 
# 获取所有哈希字段 
HGETALL user:1 
# 删除哈希字段 
HDEL user:1 age 

​5.3 列表操作

列表是一个有序的字符串集合,适合存储有序的数据:

# 在列表头部插入元素 
LPUSH mylist "item1" 
# 在列表尾部插入元素 
RPUSH mylist "item2" 
# 获取列表元素 
LRANGE mylist 0 -1 
# 删除列表元素 
LPOP mylist 

​5.4 集合操作

集合是一个无序的字符串集合,适合存储不重复的数据:

# 添加集合元素 
SADD myset "item1" 
# 获取集合元素 
SMEMBERS myset 
# 删除集合元素 
SREM myset "item1" 

​5.5 有序集合操作

有序集合是一个有序的字符串集合,每个元素关联一个分数:

# 添加有序集合元素 
ZADD myzset 1 "item1" 
# 获取有序集合元素 
ZRANGE myzset 0 -1 WITHSCORES 
# 删除有序集合元素 
ZREM myzset "item1" 

​6. 持久化

Redis支持两种持久化方式:RDB(Redis Database)和AOF(Append Only File)。

6.1 RDB持久化

RDB持久化是将内存中的数据定期保存到磁盘上的一个快照文件中:

# 修改配置文件启用RDB持久化 
save 900 1 save 300 10 save 60 10000 

​6.2 AOF持久化

AOF持久化是将每个写操作追加到一个日志文件中:

# 修改配置文件启用AOF持久化 
appendonly yes 

​7. 总结

本文介绍了Redis的基本概念、安装配置和常用操作。通过学习这些内容,你应该能够入门Redis,并在实际项目中应用它。希望这篇文章能帮助你快速上手Redis,并在你的开发工作中发挥作用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/409673.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

链接 -- 动静态链接 --特点、区别、静态库安装下载

1.链接是什么? 我们的程序,和 库(语言一定会有自己的标准库) 结合的过程就叫做链接。 2.为什么有链接? 让开发站在巨人的肩膀,提高开发效率。 c语言库: ls /user/include/ 动静态库的特点与区别…

力扣面试经典算法150题:O(1) 时间插入、删除和获取随机元素

O(1) 时间插入、删除和获取随机元素 今天的题目是力扣面试经典150题中的数组的中等难度题: O(1) 时间插入、删除和获取随机元素。 题目链接:https://leetcode.cn/problems/insert-delete-getrandom-o1/description/?envTypestudy-plan-v2&envIdtop…

Oracle问题笔记

ORA-28040 没有匹配的验证协议 问题出现场景oracle数据库为12c,应用使用的jdbc或客户端工具是11g版本一下,连接12c数据库时会报ora-28040错误。解决办法在Oracle服务端的$ORACLE_HOME/network/admin/sqlnet.ora文件中添加: SQLNET.ALLOWED_LOGON_VERSI…

第4章 汇编语言和汇编软件

第4章 汇编语言和汇编软件 该章主要介绍了汇编语言和汇编语言编译器的安装和使用。 汇编语言程序 该小节主要介绍了为什么要有汇编语言和汇编语言程序的一些基础写法。 书中有提到CPU有不同的架构,汇编语言有不同的风格,那么不同的CPU架构和不同的汇…

日常维护交换机,看看这些老网工怎么说

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部 晚上好,我的网工朋友。 交换机作为连接各个节点的核心设备,其稳定性和可靠性直接关系到整个网络系统的健康运行。 路由器…

vue开发区分开发环境和生产环境,以及预发布环境

vue开发区分开发环境和生产环境,以及预发布环境 在根目录创建 .env[mode] 文件,在项目执行 npm run dev 的时候vite会自动去读取.env.development文件里面的配置,执行npm runbuild进行打包之后也会自动将.env.production的内容打包进去&…

Kafka日志及常见问题

目录 1.Topic下的消息是如何存储的 1.1log文件追加记录所有消息 1.2index和timeindex加速读取日志信息 2.文件清理机制 2.1如何判断哪些日志文件过期了 2.2日志清理策略 3.Kafka的文件高效读写机制 3.1Kafka的文件结构 3.2顺序写磁盘 3.3零拷贝 3.3.1传统IO 3.3.2m…

【硬件操作入门】2--GPIO与门电路、二极管三极管、LED电路与操作

【硬件操作入门】2–GPIO与门电路(二极管&三极管)、LED电路与操作 文章目录 【硬件操作入门】2--GPIO与门电路(二极管&三极管)、LED电路与操作一、GPIO与门电路1.1、GPIO的应用1.2、GPIO引脚操作1.2.1 设置引脚为GPIO功能…

加速网络体验,Squid缓存代理:让浏览如飞,畅享无限网络速度!

作者简介:我是团团儿,是一名专注于云计算领域的专业创作者,感谢大家的关注 座右铭: 云端筑梦,数据为翼,探索无限可能,引领云计算新纪元 个人主页:团儿.-CSDN博客 目录 前言: squ…

[数据集][目标检测]建筑工地楼层空洞检测数据集VOC+YOLO格式2588张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2588 标注数量(xml文件个数):2588 标注数量(txt文件个数):2588 标注…

springboot项目读取 resources 目录下的文件的9种方式

1. 使用 ClassLoader.getResourceAsStream() 方法 InputStream inputStream getClass().getClassLoader().getResourceAsStream("file.txt"); 2. 使用 Class.getResourceAsStream() 方法 InputStream inputStream getClass().getResourceAsStream("/file.txt&…

JAVA-封装

目录 一、封装的概念 二、封装扩展之包 1. 包的概念 2.导入包中的类 3.自定义包 4.常见的包 三、访问限定符 在同一包中: 在不同包中:​编辑 一、封装的概念 面向对象程序三大特性:封装、继承、多态。而类和对象阶段,主…

网络安全——基础知识记忆梳理

1. SQL注入攻击 SQL注入攻击是一种常见的网络安全威胁,它利用Web应用程序中对用户输入的数据的不正确处理,攻击者可以在SQL查询中注入恶意代码,从而执行非授权的数据库操作。这种攻击方式可以导致数据泄漏、数据篡改、绕过认证等多种安全问题…

什么样的条件才会造就这样疯狂的末日期权?

今天带你了解什么样的条件才会造就这样疯狂的末日期权?末日期权一般是指期权合约快到期的一周或者最后三天,当然最后一天就是末日期权的疯狂。 末日期权是指那些接近到期日的期权。 由于剩余时间较短,这些期权的时间价值通常非常低&#xf…

MFC工控项目实例之七点击下拉菜单弹出对话框

承接专栏《MFC工控项目实例之六CFile添加菜单栏》 1、在SEAL_PRESSUREDlg.h文件中添加代码 class CSEAL_PRESSUREDlg : public CDialog { ...afx_msg void OnTypeManage(); ... } 2、在SEAL_PRESSUREDlg.cpp文件中添加代码 BEGIN_MESSAGE_MAP(CSEAL_PRESSUREDlg, CDialog)//…

快速排序与其例题

一、快速排序 1、简单介绍:快速排序(Quick Sort)是一种高效的排序算法,由计算机科学家Tony Hoare在1960年提出。它是基于分治法的排序算法,其基本思想和步骤如下: 基本概念 快速排序的核心思想是将待排序…

Debezium2.7 数据同步 MySQL/Oracle -- AI生成

Debezium是Red Hat开源的一个工具,用于实时捕获多种数据源(包括MySQL、PostgreSQL、SQL Server、Oracle等)的变更数据,并将这些数据作为事件流输出到Kafka等消息中间件中。通过Debezium,可以实现数据的实时同步和变更数…

【Qt】常用控件QCalendarWidget

常用控件QCalendarWidget的使用 QCalendarWidget表示一个日历 核心属性 属性说明 selectDate 当前选中的⽇期 minimumDate 最⼩⽇期 maximumDate 最⼤⽇期 firstDayOfWeek 每周的第⼀天(也就是⽇历的第⼀列) 是周⼏. gridVisible 是否显⽰表格的边框 selectionMode…

何为MethodHandles?

最近在梳理ThreadPoolExecutor,无意间看到其内部类Worker实现了一个名字叫做AbstractQueuedSynchronizer的抽象类。看到它,我便想起当年为了面试而疯狂学习这个知识点的场景。不过这种临时抱佛脚的行为,并未给我带来即时的收益。也是这次的疯…

软件上显示“mfc140.dll丢失”错误信息?那么mfc140.dll丢失该如何修复

mfc140.dll是 Microsoft Foundation Class (MFC) 库的一部分,这个库被用于基于 C 的 Windows 应用程序的开发。当 Windows 或软件上显示“mfc140.dll丢失”或“找不到 mfc140.dll”这类错误信息时,表示你的系统可能缺少与 Visual C 相关的组件或这些组件…