Redis安装与配置及常用命令使用讲解

news2025/1/21 12:51:49

目录

一、Redis简介

二、Redis安装和配置

2.1 Linux版

2.2 Windows版

三、Redis命令 

3.1 通过命令操作Redis

3.2 String 字符串

3.3 Hash 哈希

3.4 List 列表

3.5 Set 有序集合(sorted set)


一、Redis简介

        Redis是一个开源的内存数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis支持多种数据结构,包括字符串、哈希表、列表、集合和有序集合,这使得它非常灵活和多用途。

        Redis的主要作用是提供高性能的数据存储和访问。由于数据存储在内存中,Redis能够实现非常快速的读写操作,使其成为处理高并发和低延迟应用的理想选择。此外,Redis还具有以下几个重要的特性和应用场景:

  1. 缓存:Redis常用于缓存热门数据,以减轻后端数据库的负载。通过将经常访问的数据存储在Redis中,可以大大提高应用程序的响应速度和吞吐量。

  2. 分布式锁:Redis提供了原子操作和分布式锁的支持,可以用于实现分布式系统中的并发控制和资源竞争解决方案。

  3. 发布/订阅:Redis的发布/订阅功能允许不同的应用程序之间进行实时消息传递。这在实时聊天、实时数据更新和事件驱动的应用程序中非常有用。

  4. 排行榜和计数器:Redis的有序集合和计数器功能可以用于实现排行榜、计数器和统计功能。这对于需要实时统计和排名的应用程序非常有用。

  5. 地理位置和地理搜索:Redis的地理位置功能可以用于存储和查询地理位置数据,例如附近的人、地点推荐和地理搜索。

  6. 会话存储:由于Redis支持持久化,它可以用作会话存储,以替代传统的基于Cookie的会话存储。这提供了更高的性能和可扩展性。

        总之,Redis是一个功能强大且灵活的存储系统,适用于各种不同的应用场景,包括缓存、分布式锁、实时消息传递、排行榜和计数器、地理位置和会话存储等。作为软件工程师,我们可以根据具体的需求和性能要求,合理地选择和使用Redis来优化应用程序的性能和用户体验。

二、Redis安装和配置

Redis官网下载路径—— https://redis.io/download/

 

2.1 Linux版

1、上传redis.tar.gz文件到虚拟机,并进行解压

tar -zxvf redis-5.0.0.tar.gz

2、安装gcc

yum install gcc

3、编译redis

make && make install

4、检测安装情况

make install

 

5、修改redis.conf文件

命令:

vim redis.conf

将文件内容:daemonize no 改为 daemonize yes

6、启动redis

./src/redis-server redis.conf

7、redis启动测试

端口测试:

lsof -i:6379

是否能够连接本地客户端测试:

./src/redis-cli

8、结束进程

kill -9 xxxx (PID)

9、修改密码及外部连接

以上为无密码链接,为了安全需要设置密码,并且配置外部链接访问

修改redis.conf指令:

vim redis.conf

1、注释bind 127.0.0.1

2、修改requirepass 123456

 

10、开放Redis端口号

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

重新连接

./src/redis-server redis.conf

11、安装客户端工具 RedisDesktopManager 连接测试 

连接成功就可看到左侧列表的服务器默认的数据库 

 

2.2 Windows版

1、下载windows版redis后进行解压

2、编写文件把一下代码放进去更改后缀为bat文件

cd Redis-x64-3.2.100 #进入解压文件
redis-server redis.windows.conf #安装

运行该文件出现如图表示安装成功

3、修改 redis.windows.conf 文件 

操作如上:Linux版第9步 --> 修改密码及外部连接

4、连接测试

三、Redis命令 

3.1 通过命令操作Redis

首先需要启动Redis服务与本地客户端连接

因为我们加入了守护进程,所以以前直接连接的方式不行,必须带密码和用户端口

-h(主机ip)-p(端口) -a(密码)

Redis支持五种数据类型,接下来就可以通过命令来使用Redis。

  • string(字符串)
  • hash(哈希)
  • list(列表)
  • set(集合)
  • zset(sorted set:有序集合)

 

3.2 String 字符串

# set key          //保存
# get key          //获取
# type key         //查看类型
# keys *或keys key        //查看所有或者指定的key

3.3 Hash 哈希

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

# hset key field1 value1 [field2 value2]  #同时将多个field-value设置到哈希表key中
# hget key field                                       #获取指定的字段值
# hdel key field                                       #删除指定的字段值
# hgetall key                                           #查询指定key的所有字段
# hexists key field                                   #查询指定key中的字段是否存在
# hlen key                                               #获取指定key中的长度

3.4 List 列表

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

# hset key field1 value1 [field2 value2]  #同时将多个field-value设置到哈希表key中
# hget key field                                       #获取指定的字段值
# hdel key field                                       #删除指定的字段值
# hgetall key                                           #查询指定key的所有字段
# hexists key field                                   #查询指定key中的字段是否存在
# hlen key                                               #获取指定key中的长度

 

3.5 Set 有序集合(sorted set)

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

# sadd key value1 [value2]                                            #向集合添加一个或多个元素
# scard key                                                                    #获取集合中的元素数量
# sscan key cursor [MATCH pattern] [COUNT count]   #迭代集合中的元素
# exists key                                                                    #是否存在

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

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

相关文章

闲谈自适应借贷式拥塞控制

首先,借贷式拥塞控制 为什么能收敛到公平。sender 遵守算法约定的前提下给出一个原则和两个逻辑: 小 cwnd 的流在用大的但越来越小的 burst 率抢,大 cwnd 的流在用小的但越来越大的 burst 率让,最终达到平衡,不抢也不…

vite vue3打包时出现TS类型错误解决最快速解决方案

快速解决看这里或者直接到 解决 packge.json中将build的vue-tsc命令删除 问题描述 在执行 npm build时报错 node_modules/.pnpm/element-plus2.3.4_vue3.3.7/node_modules/element-plus/es/components/tabs/index.d.ts:106:14106 readonly stretch: boolean;~~~~~~~The …

第六章 包图组织模型|系统建模语言SysML实用指南学习

仅供个人学习记录 概述 包是容器的一个例子。包中的模型元素称为可封装元素,这些元素可以是包、用例和活动。由于包本身也是可封装元素,因此可以支持包层级。 每个有名称的模型元素也必须是命名空间的一份子,命名空间使得每个元素均能够通过…

KDChart2.8编译过程-使用VS+CMake-MSVC2017

文章目录 一、下载KDChart源文件二、只用Visual Studio(有缺陷)1.配置系统环境变量2.使用Visual Studio中的Qt集成功能3. 打开sln解决方案编译生成相关设置(以Release为例) 三、CMakeVisual Studio(完美)1.…

信息泄露--

大唐电信AC简介 大唐电信科技股份有限公司是电信科学技术研究院(大唐电信科技产业集团)控股的的高科技企业,大唐电信已形成集成电路设计、软件与应用、终端设计、移动互联网四大产业板块。 大唐电信AC集中管理平台存在弱口令及敏感信息泄漏漏…

webgoat(A2) Broken Authentication

身份验证绕过 身份验证绕过以多种方式发生,但通常会利用配置或逻辑中的某些缺陷。篡改以达到正确的条件。 隐藏输入 最简单的形式是依赖于网页/DOM 中的隐藏输入。 删除参数 有时,如果攻击者不知道参数的正确值,他们可能会从提交中完全删…

excel利用正则匹配和替换指定内容

上班中, 突然接到电话, 屋里的上司大人发来个excel, 说要替换里面x-x-xxx列的内容为x栋x单元xxx. 大致表格如下, 原表格我就不发了 身为程序猿的我, 肯定第一就想到了 正则! 打开excel-开始-查找和替换, 我擦, 只能完全匹配和替换 比如一次只能替换1-1- -> 为1栋1单元 1-2…

牛客项目(五)-使用kafka实现发送系统通知

kafka入门以及与spring整合 Message.java import java.util.Date;public class Message {private int id;private int fromId;private int toId;private String conversationId;private String content;private int status;private Date createTime;public int getId() {retur…

不使用屏幕在树莓派4B安装Ubuntu22.04桌面版(64位)

因为时间有限只说一下基本路径: 1首先安装Ubuntu22.04server版本 2设置服务器版本的SSH和WiFi 3通过服务器版本安装Ubuntu-desktop升级到Ubuntu22.04桌面版 4在桌面版上安装远程控制软件:xrdp; 5使用Windows自带的远程桌面连接访问Ubuntu 6完成

Linux -----------------------Shell 流程判断

什么是shell Shell是操作系统的用户界面,负责接收和解释用户的命令,并将这些命令转化为操作系统内部能够理解的指令,然后执行相应的操作。Shell还允许用户编写脚本,以自动化和批处理任务,从而提高效率。在Linux系统中&…

【Nginx38】Nginx学习:SSL模块(二)错误状态码、变量及宝塔配置分析

Nginx学习:SSL模块(二)错误状态码、变量及宝塔配置分析 继续我们的 SSL 模块的学习。上回其实我们已经搭建起了一个 HTTPS 服务器了,只用了三个配置,其中一个是 listen 的参数,另外两个是指定密钥文件的地址…

【LeetCode刷题-排序】--912.排序数组

912.排序数组 方法&#xff1a;使用插入排序 class Solution {public int[] sortArray(int[] nums) {int len nums.length;//循环不变量:使nums[i]插入区间[0,i),使之成为有序数组for(int i 1;i<len;i){//先缓存这个元素&#xff0c;然后之前的元素逐个后移&#xff0c;…

LeetCode----52. N 皇后 II

 题目 n 皇后问题 研究的是如何将 n 个皇后放置在 n n 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回 n 皇后问题 不同的解决方案的数量。 示例 1: 输入:n = 4 输出:2 解释:如上图所示,4 皇后问题存在两个不同的解法。 示例 2: 输入:n = …

【CSDN 每日一练 ★★☆】【数学】旋转图像

【CSDN 每日一练 ★★☆】【数学】旋转图像 数学 数组 题目 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像&#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 示例 1&a…

前端埋点方式

前言&#xff1a; 想要了解用户在系统中所做的操作&#xff0c;从而得出用户在本系统中最常用的模块、在系统中停留的时间。对于了解用户的行为、分析用户的需求有很大的帮助&#xff0c;想实现这种需求可以通过前端埋点的方式。 埋点方式&#xff1a; 1.什么是埋点&#xff1f…

【Selenium+python】自动化测试登录界面

前言&#xff1a;已经学习selenium许久了&#xff0c;奈何公司的项目还在码代码中...&#xff0c;感觉自己学的东西快忘的差不多了&#xff0c;所以就找个网站练练手&#xff0c;顺便回顾一下UI自动化的知识&#xff0c;也希望跟我一样的小白有所受益。 一、用例分析&#xff…

线扫相机DALSA--常见问题四:修改相机参数,参数保存无效情况

该问题是操作不当&#xff0c;未按照正常步骤保存参数所致&#xff0c;相机为RAM机制&#xff0c;参数需保存在采集卡的ROM内。 保存参数步骤&#xff1a; ①首先将相机参数保存至User Set1&#xff1b; ②然后回到Board(采集卡)参数设置区&#xff0c;鼠标选中Basic Timing&a…

C++——类和对象(中)完结

赋值运算符重载 运算符重载 C 为了增强代码的可读性引入了运算符重载 &#xff0c; 运算符重载是具有特殊函数名的函数 &#xff0c;也具有其 返回值类型&#xff0c;函数名字以及参数列表&#xff0c;其返回值类型与参数列表与普通的函数类似。 函数名字为&#xff1a;关键…

中富转债,章鼓转债上市价格预测

中富转债-123226 基本信息 转债名称&#xff1a;中富转债&#xff0c;评级&#xff1a;AA-&#xff0c;发行规模&#xff1a;5.2亿元。 正股名称&#xff1a;中富电路&#xff0c;今日收盘价&#xff1a;30.03元&#xff0c;转股价格&#xff1a;36.44元。 当前转股价值 转债面…

桥接模式birdge

简介 桥接模式&#xff1a;将抽象与实现相分离&#xff0c;使他们可以独立变化。 角色 抽象化&#xff08;Abstraction&#xff09;角色&#xff1a; 该类持有一个对实现角色的引用&#xff0c;抽象角色中的方法需要实现角色来实现&#xff0c;抽象角色一般为抽象类&#xf…