【Redis】Redis在Linux与windows上的安装基本操作语法

news2025/1/20 16:29:00

一、Redis简介

Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list(列表),set(集合),zset(有序集合),hash(哈希表)等数据结构的存储。
  • Redis支持数据的备份,即master-slave(主从模式)模式的数据备份。

 zset原为sorted set。为了避免sorted set简写sset导致命令冲突,所以改为zset。同理例如class-->clazz

Redis与其他key-value存储有什么不同?

  • Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
  • Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,应为数据量不能大于硬件内存。在内存数据库方面的另一个优点是, 相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。 同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。

二,Redis下载安装

2.1下载地址:

https://github.com/tporadowski/redis/releases

2.2Linux安装Redis

在我们之前使用的mobaxterm上连接的Linux管理中去解压压缩文件:

 tar -zxvf redis-5.0.0.tar.gz

2.3解压后执行安装gcc

  yum install gcc

2.4.编译Redis

进入解压后的文件夹执行编译Redis

make && make install

2.5.修改Redis为守护进程

什么是守护进程?
守护进程就是我们启动Redis之后还能输入命令,如果我们不设置守护进程你就会发行我们启动Redis之后无法输入其他的命令了

使用我们Linux快速查找命令:

:/daemonize

修改redis.conf文件将daemonize no 改为 daemonize yes

2.6.启动Redis服务

/src/redis-server redis.conf

       通过查看是否能够连接本地客户端来验证:

./src/redis-cli

输入一个ping 连接成功会自动返回一个pong,如果不返回就失败了

        

2.7.配置密码且外部连接

执行完第六步我们会发现我们连接Redis不要密码!且只能本地连接外部连接连接不上,所以我们需要继续配置。

修改redis.conf注文件中的内容:注释掉bind 127.0.0.1这行语句并修改requirepass 123456

2.8.重启服务器

首先kill -9 进程pid 关闭启动的进程ip

杀死进程

kill -9 pid

查询进程

 lsof -i:6379

启动redis.conf的新配置   

 ./src/redis-server redis.conf
 

2.9.开放Redis端口号

firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload

2.10.redismanagerl连接测试 

已经连接成功!!!

我们的Linux安装Redis就全部完成了!!!

三、Windos安装Redis

3.1.解压安装包

在bat中编写

cd Redis-x64-3.2.100
redis-server redis.windows.conf

启动bat文件

四、Redis基本操作语法


首先我们启动Redis服务与本地客户端连接

因为我们加入了守护进程,所以要带密码和用户端口连接
-h(主机ip)-p(端口) -a(密码)

输入ping:有个PONG说明登录成功,否则要看看密码。

接下来小编从常用的字符串、哈希表、列表分别来介绍一些常用方法,没有介绍的大家都可以查看上面分享的学习网址,里面人家都有官方的。

4.1.字符串(String)

# set key          //保存
set name zs
set age 12
set sex nan

# get key          //获取
get name

# type key         //查看类型


#type age            //string 说明type返回的是键值对存储类型,而不是值存储类型

# keys *或keys key //查看所有或者指定的key
keys *

# SETEX KEY_NAME TIMEOUT VALUE    // 给键值对设置过期时间
setex zs 60 live

# ttl key    // 获取键值对剩余的存活时间
ttl zs

4.2.哈希(Hash)

Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。

# hset key field1 value1 [field2 value2]  #同时将多个field-value设置到哈希表key中
hset user name zs age 12 sex nv

# hget key field                          #获取指定的字段值
hget user age

# hdel key field                          #删除指定的字段值
hdel user age

# hgetall key                             #查询指定key的所有字段
hgetall user

# hexists key field                       #查询指定key中的字段是否存在
hexists user name

# hlen key                                #获取指定key中的长度
hlen user

4.3.列表(List)

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)

# lpush key value1 value2 value3          #将一个或多个值插入到列表头部
lpush en a b c d e f g

# llen key                                #获取列表的长度
llen en

# lindex key index                        #根据索引获取列表中的元素
lindex en 1     #返回f,说明下标从0开始,同时先进后出

# lrange key start sop                    #查看指定范围内的元素
lrange en 1 3    #返回fed,说明下标从0开始,同时先进后出

4.4.集合(Set)

Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

# sadd key value1 [value2]                #向集合添加一个或多个元素
sadd hobby lanqiu zuqiu bingpangqiu zhuoqiu

# scard key                               #获取集合中的元素数量
scard hobby

# exists key                              #是否存在
exists hobby

除了以上命令,Redis还提供了一些其他的集合命令,如SMOVE、SSCAN等,用于集合的移动和集合的扫描等操作。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python条件判断的运用

问题 在生活中,我们可以通过判断条件是否成立,来决定执行哪个分支。选择语句有多种形式:if语句,if-else语句,if-elif-else语句等。 Python使用if条件判断语句来实现条件判断时,可以在多个循环中实现对问题的…

【蓝桥杯 第十四届省赛Java B组】真题训练(A - C)正在更新

目录 A、阶乘求和 - BigInteger B、幸运数字 - 字符串 进制转换 暴力大法 C、数组分割 - A、阶乘求和 - BigInteger 思路: 当时比赛时,拿计算器算的,然后辛辛苦苦也没对 看到这个数肯定很大,而且只求后9位,阶乘越…

三篇文章了解计算机网络(一)

目标 三篇文章,由浅入深理解计算机网络 适宜人群 小小白、无计算机网络基础,非技术人员,网络兴趣爱好者 内容简介 本文不谈技术,不谈理论,那谈什么?--谈生活。。。跑题了? 正文 网络是什…

SECS/GEN HSMS半导体通信协议解析

协议族总体结构 HSMS消息格式(网口连接) 超时时间设置 T3 回复超时:指发送指令到接收到回复指令的最大时间; T5 连接间隔:指断开连接和重新连接的最小时间; T6 控制指令超时时间:主要指连接选…

本地部署清华大模型 ChatGLM3

ChatGLM 是一个开源的、支持中英双语的对话语言模型,由智谱 AI 和清华大学 KEG 实验室联合发布,基于 General Language Model (GLM) 架构,具有 62 亿参数。ChatGLM3-6B 更是在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上增加…

读程序员的制胜技笔记02_算法与数据结构

1. 认知偏见 1.1. 程序员也是人,他们和其他人在软件开发实践中有着同样的认知偏见 1.2. 只有你的同事真正关心你是如何做事的——其他人都只想要一个好的、有效的产品 1.3. 高估了不使用的类型 1.4. 不关心正确数据结构的好处 1.5. 认为算法只对库作者重要 2.…

Express框架开发接口之今日推荐等模块

1.初始化 const handleDB require(../handleDB/index) // 获取全部模块 exports.allModule (req, res) > {(async function () {})() } // 更新或者添加模块 exports.upModule (req, res) > {(async function () {})() } // 根据id删除模块 exports.delModule (req, …

Proteus仿真--基于51单片机的可演奏电子琴设计(仿真文件+程序)

本文主要介绍基于51单片机的可演奏电子琴设计(完整仿真源文件及代码见文末链接) 仿真图如下 其中通过矩阵键盘可以实现不同的音乐播放 仿真运行视频 Proteus仿真--基于51单片机的可演奏电子琴设计(仿真文件程序) 附完整Proteu…

竞赛 深度学习机器视觉车道线识别与检测 -自动驾驶

文章目录 1 前言2 先上成果3 车道线4 问题抽象(建立模型)5 帧掩码(Frame Mask)6 车道检测的图像预处理7 图像阈值化8 霍夫线变换9 实现车道检测9.1 帧掩码创建9.2 图像预处理9.2.1 图像阈值化9.2.2 霍夫线变换 最后 1 前言 🔥 优质竞赛项目系列,今天要分…

Flutter 组件集录 | InheritedNotifier 内置状态管理组件

theme: cyanosis 1. 前言 在上一篇 《Flutter 知识集锦 | 监听与通知 ChangeNotifier》 中,我们介绍了 ChangeNotifier 对象通知监听者的能力。并通过一个简单的模拟下载进度案例,介绍了它的使用方式: | 案例演示 | 监听-通知关系 | | --- | …

DBeaver 23.2.3发布,带来多项增强和修复

数据库管理工具DBeaver最新版本23.2.3已经发布。这个版本带来了一系列的增强和修复,提升了用户的使用体验和工作效率。 以下是DBeaver 23.2.3版本的一些亮点功能: 数据编辑器方面的改进: Excel (XLSX) 导出现在支持列自动拟合,…

人大金仓迁移报错ERROR: invalid byte sequence for encoding “UTF8“: 0x00

Oracle迁移人大金仓,报错: com.kingbase8.utilKSOLException: ERROR: invalid byte sequence for encoding “UTF8”: 0x00 报错信息,如图所示: 解决方案 1、设置参数,在kingbase.conf 最后面添加参数:ign…

串口通信(8)串口中断“边接收边解析数据“的通信程序

本文为博主 日月同辉,与我共生,csdn原创首发。希望看完后能对你有所帮助,不足之处请指正!一起交流学习,共同进步! > 发布人:日月同辉,与我共生_单片机-CSDN博客 > 欢迎你为独创博主日月同…

linux笔记总结-基本命令

参考: 1.Linux 和Windows比 比较 (了解) 1. 记住一句经典的话:在 Linux 世界里,一切皆文件 2. Linux目录结构 /lib • 系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几 乎所有…

流媒体服务实现H5实时预览视频

目录 背景方案业务实践细节注意 待办 背景 客户aws服务磁盘存储告急,最高可扩容16T。排查如下:主要是视频文件存在大量复制使用的情况。例如发布节目时复制、预览时复制,这样上传一份视频后最大会有四份拷贝(预览、普通发布、互动…

PHP隐藏手机号码、银行卡号、真实姓名部分方法

1、隐藏手机号码,隐藏手机号中间部分 /*** 隐藏手机号码* param int $mobile 手机号码* param int $head 头部显示数* param int $tail 尾部显示数* param string $hide_str 隐藏字符串* return string*/ function getHiddenMobile($mobile, $head 3, $tail 4, $hide_str *…

PHP依赖注入 与 控制反转详解

依赖注入 是一种设计模式,用于解耦组件之间的依赖关系。 它的主要思想是通过将依赖的对象传递给调用方,而不是由调用方自己创建或管理依赖的对象。这种方式使得组件的依赖关系更加灵活,易于维护和测试。 控制反转 是一个更广泛的概念&#…

C++ 输入输出流

iostream库,包含两个基础类型istream(输入流)和ostream(输出流)。一个流就是一个字符序列。 流 输入输出产生的字符串称为流。 被称为流的原因:所有的字符都在缓冲区中,从缓冲区拿/放都是顺序进行的,字符串的消耗,像…

IDEA 设置代码注释模板

功能简介: 每次看别人代码时,面对毫无注释的类,除了头大还是头大, 以下提供了一种代码类注释模板 新建java类的时候,自动增加类注释,养成代码开发好习惯 效果展示: 代码模板: #if (…

《算法通关村—如何使用中序和后序来恢复一颗二叉树》

《算法通关村—如何使用中序和后序来恢复一颗二叉树》 中序:3 4 8 6 7 5 2 1 10 9 11 15 13 14 12 后序:8 7 6 5 4 3 2 10 15 14 13 12 11 9 1 通过后续遍历我们知道根节点是1,通过知道根节点是1,我们就可以从中序序列知道那些 …