当前位置: 首页 > news >正文

Redis安装与使用

目录

1、介绍

1、redis的特点:

2、缓存

2、安装Redis

1、安装单机版redis

2、redis-cli命令参数

3、清空数据库的两种方式和作用域: 

4、redis的增删查改命令

5、redis的查看所有分类命令

6、redis过期时间与控制键的行为

7、redis的相关工具


1、介绍

redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库

redis的官网:redis.io 注:域名后缀io属于国家域名,是british Indian Ocean territory,即英属印度洋领地

1、redis的特点:

1.丰富的数据结构  -----string,list,set,zset,hash等数据结构的存储
2.支持持久化
3.支持事务   ---------------事务是指“一个完整的动作,要么全部执行,要么什么也没有做”。
4.支持主从

2、缓存

1.类型1).数据缓存 2).页面缓存(Smarty) 
在开发网站的时候如果有一些数据在短时间之内不会发生变化,而它们还要被频繁访问,为了提高用户的请求速度和降低网站的负载,就把这些数据放到一个读取速度更快的介质上(或者是通过较少的计算量就可以获得该数据) ,该行为就称作对该数据的缓存。 
该介质可以是文件、数据库、内存,内存经常用于数据缓存
​
2.形式
页面缓存经常用在内存管理系统里边 
数据缓存经常用在页面的具体数据里边 
​
redis和memcache比较 1).Redis不仅仅支持简单的Key-Value类型的数据,同时还提供了list,set,zset,hash等数据结构的存储 2).Redis支持master-slave(主-从)模式应用 3).Redis支持数据的持久化

2、安装Redis

1、安装单机版redis

本机系统:rocky_linux9.4

[root@localhost ~]# wget http://download.redis.io/releases/redis-5.0.10.tar.gz   #下载redis
[root@localhost ~]# tar xzf redis-5.0.10.tar.gz -C /usr/local                 #解压
[root@localhost ~]# cd /usr/local/
[root@localhost local]# mv redis-5.0.10/ redis
[root@localhost local]# cd redis/
[root@localhost redis]# yum install -y gcc make                               #安装编译工具
[root@localhost redis]# make
注:如果报错请将刚才解压的安装包删除掉,再次重新解压并进行make安装即可。[root@localhost redis]# /usr/local/redis/src/redis-server #启动命令,即redis-server,这种用不习惯可以参照下面得配置systemctl启动。
#配置简单方式管理命令
[root@localhost ~]# vim /etc/profile   #配置文件末尾加入下述环境变量得配置
PATH="/usr/local/redis/src:$PATH"
[root@localhost ~]# source /etc/profile  #重新加载系统全局配置文件
#测试使用管理redis命令
[root@localhost ~]# redis-server /usr/local/redis/redis.conf &     #输入命令后会弹出信息,再次回车即可放后台运行#以下为自定义参数
[root@localhost ~]# cd /usr/local/redis
[root@localhost redis]# cp redis.conf redis.conf.bak    #备份配置文件
[root@localhost redis]# vim redis.conf         #在配置文件中找到修改如下
bind 192.168.226.21                 #Redis 服务器监听的网络接口地址
daemonize yes                   #开启后台模式将on改为yes
timeout 300                    #连接超时时间
port 6379                           #端口号
dir /usr/local/redis/data  #本地数据库存放持久化数据的目录该目录-----需要存在
pidfile /var/run/redis_6379.pid   #定义pid文件
logfile /var/log/redis.log        #定义log文件
requirepass 1234                    #设置密码为1234,密码可设置可不设             #创建存放数据的目录
[root@localhost redis]# mkdir /usr/local/redis/data

 
#配置redis为systemctl启动
[root@redis-master redis]# cd /lib/systemd/system
[root@redis-master system]# vim redis.service
[Unit]
Description=Redis
After=network.target[Service]
ExecStart=/usr/local/redis/src/redis-server /usr/local/redis/redis.conf  --daemonize no
ExecStop=/usr/local/redis/src/redis-cli -h 127.0.0.1 -p 6379 shutdown[Install]
WantedBy=multi-user.target=====================
参数详解:
• [Unit] 表示这是基础信息 
• Description 是描述
• After 是在那个服务后面启动,一般是网络服务启动后启动• [Service] 表示这里是服务信息 
• ExecStart 是启动服务的命令
• ExecStop 是停止服务的指令• [Install] 表示这是是安装相关信息 
• WantedBy 是以哪种方式启动:multi-user.target表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。
===================
启动服务:
[root@localhost system]# systemctl daemon-reload #重新加载 systemd 的配置文件
[root@localhost system]# systemctl start redis   #启动[root@localhost system]# systemctl start redis   #停止
[root@localhost system]# systemctl restart redis #重启

本次我们没有使用systemctl得形式启动,而是配置环境变量,这样使用redis命令更方便

2、redis-cli命令参数

redis-cli 是 Redis 提供的命令行工具,用于与 Redis 服务器进行交互。它支持多种参数来控制连接方式、执行命令以及显示输出等。以下是常用的 redis-cli 参数:

  1. 连接参数

    • -h <hostname>:指定连接的 Redis 服务器主机名或 IP 地址。
    • -p <port>:指定连接的 Redis 服务器端口号,默认为 6379。
    • -a <password>:指定连接的 Redis 服务器密码。如果 Redis 服务器设置了密码保护,需要使用该参数提供密码进行连接。
    • -s <socket>:指定连接的 Unix 套接字文件路径。适用于本地连接 Unix 套接字的情况。
  2. 交互和显示参数

    • -n <db-number>:选择 Redis 数据库的编号,默认为 0。Redis 支持多个数据库,通过编号区分。
    • --raw:以原始格式显示回复内容,不进行任何格式化处理。
    • -r <repeat>:指定重试连接次数,默认为 10 次。
    • --csv:以 CSV 格式显示输出。
  3. 输入输出参数

    • -i <file>:从指定文件中读取命令,并将其发送到 Redis 服务器执行。
    • -x:从标准输入读取命令,并将其发送到 Redis 服务器执行。适合于管道和脚本操作。
  4. 其他参数

    • -v--version:显示 redis-cli 的版本信息。
    • -h--help:显示帮助信息,列出所有可用的 redis-cli 参数和选项。

登录数据库

#启动redis
redis-server redis.conf
或
redis-server redis.conf &      #这个命令是因为配置文件中没有配置打开daemonize yes这个是启动后自动放到后台得参数#关闭redis
redis-cli -h 192.168.226.21 SHUTDOWN   #如何有密码需要-a指定密码,-p指定定义得端口
[root@localhost redis]# redis-cli -h 192.168.226.21 -p 6379 -a 1234 
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
192.168.226.21:6379> ping                 
PONG
192.168.226.21:6379> set name newrain     #设置key--name,并设置值
OK
192.168.226.21:6379> get name             #获取到key
"newrain"
192.168.226.21:6379> 单机版redis已经部署完成。将ip和端口发给开发就可以了。

3、清空数据库的两种方式和作用域: 

FLUSHDB

FLUSHDB 命令用于清空当前选择的数据库(默认为数据库 0)中的所有键。该命令不会影响其他数据库的数据,只清空当前选择的数据库。

例:

FLUSHDB

FLUSHALL

FLUSHALL 命令用于清空 Redis 中的所有数据库的数据,即清空所有数据库中的所有键。

FLUSHALL

注意:使用 FLUSHALL 命令将会删除 Redis 中所有数据库的所有数据,包括默认的数据库 0 和可能存在的其他数据库。请谨慎使用,因为该操作不可撤销。

4、redis的增删查改命令

  • 增加(添加)操作

    • 设置键值对(Set)
      SET key value
      这个命令用于设置指定键的值为给定的字符串值。
  • 删除操作

    • 删除键(Delete)
      DEL key [key ...]
      这个命令用于删除一个或多个指定的键。
  • 查询操作

    • 获取键的值(Get)
      GET key
      这个命令用于获取指定键的值。
  • 修改操作

    • 更新键的值(Set)
      SET key new_value
      这个命令可以用于更新现有键的值,或者用于设置新的键值对。
  • 其他相关操作

    • 检查键是否存在(Exists)

      EXISTS key

      这个命令用于检查指定的键是否存在于 Redis 中。

    • 设置键的过期时间(Expire)

      EXPIRE key seconds

      这个命令用于为指定键设置过期时间,单位为秒。过期时间到期后,键会自动被删除。

5、redis的查看所有分类命令

  • 查看所有键

    KEYS *

    这个命令会列出当前数据库中所有的键。请注意,KEYS * 在生产环境中执行时可能会影响 Redis 的性能,因为它会遍历所有键。在生产环境中推荐使用 SCAN 命令来逐步迭代获取键。

  • 查看字符串类型数据

    GET key

    用于获取指定键的值,适用于存储在 Redis 中的字符串数据。

  • 查看哈希表类型数据

    HGETALL key

    获取指定哈希表键中的所有字段和值。

  • 查看列表类型数据

    LRANGE key start stop

    获取列表键中指定范围内的所有元素。

  • 查看集合类型数据

    SMEMBERS key

    获取集合键中的所有成员。

  • 查看有序集合类型数据

    ZRANGE key start stop [WITHSCORES]

    获取有序集合键中指定范围内的所有成员,可以选择是否包含成员的分数。

  • 查看数据类型

    TYPE key

6、redis过期时间与控制键的行为

EX 参数:  表示过期时间的单位是秒(Seconds)。当使用 EX 参数设置键的过期时间时,指定的时间值将以秒为单位计算。

[root@localhost system]# redis-cli -h 192.168.226.21
192.168.226.21:6379> ping
PONG
192.168.226.21:6379> set name zhangsan ex 3   #定义一个键和数据,设置3秒过期
OK
192.168.226.21:6379> get name                 #3秒后查看不到了
(nil)
192.168.226.21:6379> set name zhangsan ex 10  #这里就定义成10秒过期
OK  
192.168.226.21:6379> get name                 #10秒内查看就会在
"zhangsan"

PX 参数:  表示过期时间的单位是毫秒(Milliseconds)。当使用 PX 参数设置键的过期时间时,指定的时间值将以毫秒为单位计算。

192.168.226.21:6379> set name lisi px 1000   #定义这个键和数据1000毫秒,即1秒过期
OK
192.168.226.21:6379> get name
(nil)
192.168.226.21:6379> set name lisi px 10000  #定义这个键和数据10000毫秒。即10秒过期
OK
192.168.226.21:6379> get name                 #10000毫秒内查看就能看到
"lisi" 

NX 参数: 表示只在键不存在时才设置键的值(Not eXists)。如果指定了 NX 参数,并且键不存在,那么 SET 命令会将键设置为指定的值。 防止覆盖的参数。

192.168.226.21:6379> set id 1000 nx   #id键不存在则赋值
OK
192.168.226.21:6379> set id 2000 nx   #id已经存在了,就不能赋值,防止覆盖数据
(nil)
192.168.226.21:6379> get id
"1000"

XX 参数:  表示只在键已经存在时才设置键的值(eXists)。如果指定了 XX 参数,并且键已经存在,那么 SET 命令会更新键的值。 用于覆盖数据。

192.168.226.21:6379> set txt 2000 xx    #给不存在txt键赋值,但是txt原本不存在,则赋值失败
(nil)
192.168.226.21:6379> set id 2000 xx     #给前面创建过的存在的键赋值,则可以
OK
192.168.226.21:6379> get id
"2000"

7、redis的相关工具

./redis-benchmark     #用于进行redis性能测试的工具 
./redis-check-dump    #用于修复出问题的dump.rdb文件   
./redis-cli           #redis的客户端
./redis-server        #redis的服务端
./redis-check-aof     #用于修复出问题的AOF文件
./redis-sentinel      #用于集群管理

相关文章:

Redis安装与使用

目录 1、介绍 1、redis的特点: 2、缓存 2、安装Redis 1、安装单机版redis 2、redis-cli命令参数 3、清空数据库的两种方式和作用域&#xff1a; 4、redis的增删查改命令 5、redis的查看所有分类命令 6、redis过期时间与控制键的行为 7、redis的相关工具 1、介绍 r…...

base64字符串空格问题

客户端使用的Content-Type为application/x-www-form-urlencoded时&#xff0c;字符串中出现了空格&#xff0c;base64解码时出错了&#xff0c;因为原来的字符有号&#xff0c; Spring Boot 对于Content-Type为application/x-www-form-urlencoded的HTTP请求&#xff0c;默认情…...

【BES2500x系列 -- RTX5操作系统】深入探索CMSIS-RTOS RTX -- 同步与通信篇 -- 消息队列和邮箱处理 --(四)

&#x1f48c; 所属专栏&#xff1a;【BES2500x系列】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f49…...

电信NR零流量小区处理

【摘要】随着目前网络建设逐步完善&#xff0c;5G用户的不断发展&#xff0c;针对零流量小区的分析及处理存在着必要性&#xff0c;零流量小区的出现既是用户分布及行为的直观体现&#xff0c;也是发展用户的一个指引&#xff0c;同时也能发现设备的一些故障。一个站点的能够带…...

ArcTs布局入门03——层叠布局(Stack)

如果你也对鸿蒙开发感兴趣&#xff0c;加入“Harmony自习室”吧&#xff01; 扫描下面的二维码关注公众号。 1、概述 叠布局&#xff08;StackLayout&#xff09;用于在屏幕上预留一块区域来显示组件中的元素&#xff0c;提供元素可以重叠的布局。层叠布局通过Stack容器组件实…...

C语言之线程的学习

线程属于某一个进程 共同点&#xff1a;都能并发 线程共享变量&#xff0c;进程不共享。 多线程任务中&#xff0c;其中某一个线程调用了exit了&#xff0c;其他线程会跟着一起退出 如果是特定的线程就调用pthread_exit 失败返回的是错误号 下面也是...

HT8691 内置升压模块的D类音频功率放大器芯片IC

一般描述 HT8691是一款内置升压模块的D类音频功率放大器。内置的升压模块可通过外置电阻调节升压值&#xff0c;即使是锂电池供电&#xff0c;在升压至6.5V时&#xff0c;10%THDN,4Ω负载条件下能连续输出5.5W功率;升压至7V,3Ω负载条件下则能连续输出7.0W功率。其支持外部设置…...

和小红书一起参会! 了解大模型与大数据融合的技术趋势

在过去的两年中&#xff0c;“大模型”无疑成为互联网行业的焦点话题&#xff0c;曾经炙手可热的大数据架构似乎淡出公众视野。然而&#xff0c;大数据领域并未停滞不前&#xff0c;反而快速演进&#xff0c;传统依赖众多开源组件的大数据平台正逐步过渡到以融合与简化为核心特…...

【vocabulary in use (elementary)】7 Feeling

happy 高兴 sad 伤心 angry 生气 upset 丧气 cold 冷 hot 热 thirsty 口渴 hungry 饿 well 很好 ill 生病 tired 累了 surprised 惊讶 关于喜欢的表达&#xff1a; like to do 偶尔一次喜欢 like doing 一直喜欢的 outdoor activities 户外运动 be keep on doing 坚持做 be fo…...

Keil5 ST-LINK setting闪退问题解决

1. 官网下载新版驱动文件 MDK uVision crashes when using ST-Link debugger 2. 解压替换 STLinkUSBDriver6.1.2.0Signed 我的库文件目录&#xff1a; D:\Tool\Keil5\ARM\STLink...

熟练掌握Docker及linux常用命令排查线上问题。熟悉Git, Maven等项目管理及构建工具,熟悉微服务中基于Jenkins的CI/CD

掌握Docker、Linux命令、项目管理及构建工具&#xff0c;以及CI/CD流程是现代软件开发和运维的关键技能。以下是对这些技能的概述和一些实践建议&#xff1a; ### Docker - **概述**&#xff1a;Docker是一个开源的容器化平台&#xff0c;允许开发者打包应用及其依赖到一个可移…...

78.Vue 3 重用性模态框组件

模态框是大多数 Web 应用程序中的基本构建块。虽然最初实现起来可能看起来有点棘手&#xff0c;但实际上&#xff0c;使用 Vue 和一些 Flexbox 技巧&#xff0c;这不仅可行&#xff0c;而且非常简单。 让我们一起实现一个基础的模态框组件。 架构如下&#xff1a; AppModal.vue…...

《昇思25天学习打卡营第9天|onereal》

继续学习昨天的 基于MindNLPMusicGen生成自己的个性化音乐 生成音乐 MusicGen支持两种生成模式&#xff1a;贪心&#xff08;greedy&#xff09;和采样&#xff08;sampling&#xff09;。在实际执行过程中&#xff0c;采样模式得到的结果要显著优于贪心模式。因此我们默认启…...

Wireshark - tshark支持iptables提供数据包

tshark现在的数据包获取方式有两种&#xff0c;分别是读文件、网口监听&#xff08;af-packet原始套接字&#xff09;。两种方式在包获取上&#xff0c;都是通过读文件的形式&#xff1b;存在文件io操作&#xff0c;在专门处理大流量的情境下&#xff0c; 我们复用wireshark去做…...

快团团团长如何批量退款可自定义退款金额(批量退差价)?

快团团团长如何批量退款可自定义退款金额&#xff08;批量退差价&#xff09;&#xff1f; 在售后处理中&#xff0c;经常会出现需要给某一商品退差价的场景&#xff0c;因此在批量退款时需要自定义退款金额。现快团团已支持批量退自定义金额&#xff0c;操作方法和注意事项如…...

MySQL——事务ACID原则、脏读、不可重复读、幻读

什么是事务 要么都成功&#xff0c;要么都失败 一一一一一一一 1. SQL执行&#xff1a;A给B转账 A 1000 ---->200 B 200 2. SQL执行&#xff1a;B收到A的钱 A 800 B 400 一一一一一一一 将一组SQL放在一个批次中去执行~ 事务原则&#xff1a;ACI…...

洗衣机水龙头要买有止逆阀的,多花几十元能省掉几万,值了

问大家一下&#xff0c;你家洗衣机水龙头用的是什么样的&#xff1f;      可能有业主会说我家买的是纯铜的&#xff0c;质量挺好的。      如果你家选的洗衣机水龙头仅仅是纯铜的&#xff0c;并没有其他的功能&#xff0c;你还是选做错了。      因为洗衣机水龙头…...

Android 蓝牙开发全面指南

Android 平台的蓝牙功能提供了丰富的API和工具&#xff0c;使开发者能够轻松实现从基本连接到复杂数据交换的各种蓝牙功能。蓝牙技术已经成为智能手机和其他设备间通信的重要方式&#xff0c;尤其在物联网和智能家居应用中有广泛应用。 关键词总结 Android 蓝牙开发涉及多个关…...

Hadoop3:Yarn框架的三种调度算法

一、概述 目前&#xff0c;Hadoop作业调度器主要有三种&#xff1a;FIFO、容量&#xff08;Capacity Scheduler&#xff09;和公平&#xff08;Fair Scheduler&#xff09;。Apache Hadoop3.1.3默认的资源调度器是Capacity Scheduler。 CDH框架默认调度器是Fair Scheduler。 …...

JDBC链接kerberos认证的impala数据库报错问题解决

先上代码 public static Connection connectToImpala() {try {log.info("ketTabPath:" ketTabPath);log.info("krb5Path:" krb5Path);System.setProperty("java.security.krb5.conf", krb5Path);System.setProperty("sun.security.krb5.…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

微信小程序之bind和catch

这两个呢&#xff0c;都是绑定事件用的&#xff0c;具体使用有些小区别。 官方文档&#xff1a; 事件冒泡处理不同 bind&#xff1a;绑定的事件会向上冒泡&#xff0c;即触发当前组件的事件后&#xff0c;还会继续触发父组件的相同事件。例如&#xff0c;有一个子视图绑定了b…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一&#xff0c;概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本&#xff1a;2014.07&#xff1b; Kernel版本&#xff1a;Linux-3.10&#xff1b; 二&#xff0c;Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01)&#xff0c;并让boo…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器&#xff1a;Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...