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

Redis安装+常用命令合集大全+Redis Desktop Manager

文章目录

  • 一:Redis 简介
  • 二:安装和配置Redis
    • 第一步:下载Redis
    • 第二步:解压Redis
    • 第三步:配置Redis
    • 第四步:启动Redis服务器
    • 第五步:验证Redis安装
    • 第六步:设置Redis为全局命令
  • 三:Redis 常用命令大全和示例
  • 四:Redis 高级特性
    • 4.1 持久化
    • 4.2 事务
    • 4.3 发布/订阅
    • 4.4 管道(Pipelining)
    • 4.5 性能监控
  • 五:数据可视化工具(Redis Desktop)
    • 下载地址:
    • 安装
  • 六:问题
    • redis运行后不出现图标直接启动

一:Redis 简介

1.1 什么是Redis

  • Redis(Remote Dictionary Server)是一个开源的,基于内存的高性能键值对数据库。
  • 支持多种类型的数据结构,如字符串、列表、集合、有序集合和哈希表。

1.2 Redis 的特点

  • 高性能:操作速度快,因为数据存储在内存中。
  • 持久化:支持将内存中的数据保存到磁盘,防止数据丢失。
  • 原子性:Redis的所有操作都是原子性的。
  • 丰富的特性:如事务、发布/订阅、队列等。

二:安装和配置Redis

以 Windows中Redis的安装和配置为例

第一步:下载Redis

  1. 访问Redis的官方下载地址:https://github.com/MicrosoftArchive/redis/releases。
  2. 选择适合你的Windows系统的Redis版本。注意,Windows版本的Redis是由微软维护的。
  3. 下载.zip文件。
    在这里插入图片描述

第二步:解压Redis

  1. 解压下载的Redis压缩包到你选择的目录,例如d:\install\redis3.0
    在这里插入图片描述

第三步:配置Redis

  1. 打开解压后的Redis目录,找到redis.windows.conf配置文件。
  2. 使用文本编辑器打开redis.windows.conf文件进行编辑。
  3. 根据需要修改配置项。例如,如果你想更改默认的端口,可以找到port项并修改它的值。
  4. 如果需要设置密码,找到requirepass项并设置一个密码。
port 6379  # 默认端口 6379
# requirepass foobared  #默认不需要密码

第四步:启动Redis服务器

  1. 打开命令提示符(CMD)或PowerShell。
  2. 切换到Redis的src目录,例如使用命令:
    cd D:\install\redis3.0
    
  3. 使用以下命令启动Redis服务器:Ctrl+C关闭
    redis-server.exe ./redis.windows.conf
    
  4. 客户端关闭服务
redis-cli  -a ziyu shutdown

在这里插入图片描述

第五步:验证Redis安装

  1. 为了验证Redis是否正在运行,你可以使用redis-cli工具:
    redis-cli.exe -h 127.0.0.1 -p 6379
    
    如果Redis正在运行,你将看到类似以下的提示:
    127.0.0.1:6379> ping
    
    然后我们输入ping ,如果出现 PONG 说明我们链接成功

如果设置了密码,需要使用密码连接

redis-cli.exe -h 127.0.0.1 -p 6379 -a yourpassword

在这里插入图片描述

第六步:设置Redis为全局命令

在这里插入图片描述

redis-server.exe

这样是使用的默认配置,如果要使用上面我们设置的配置文件,需要指定.conf文件

在这里插入图片描述

三:Redis 常用命令大全和示例

当然,以下是以表格形式展示的Redis命令合集:

类别命令描述示例
基本操作SET设置键的值SET mykey “Hello, Redis!”
GET获取键的值GET mykey
DEL删除键DEL mykey
EXISTS检查键是否存在EXISTS mykey
EXPIRE设置键的过期时间(秒)EXPIRE mykey 3600
TTL获取键的剩余生存时间(秒)TTL mykey
字符串操作APPEND向字符串的末尾追加内容APPEND mykey " World"
STRLEN获取字符串的长度STRLEN mykey
SETRANGE从指定偏移量设置字符串的值SETRANGE mykey 6 “World”
GETRANGE获取字符串的子字符串GETRANGE mykey 0 3
列表操作LPUSH/RPUSH将元素推入列表的头部/尾部LPUSH mylist “item1”
RPUSH mylist “item2”
LPOP/RPOP从列表的头部/尾部弹出元素LPOP mylist
RPOP mylist
LRANGE获取列表中指定范围内的元素LRANGE mylist 0 -1
LLEN获取列表的长度LLEN mylist
集合操作SADD向集合添加元素SADD myset “item1”
SREM从集合中删除元素SREM myset “item1”
SISMEMBER检查元素是否是集合的成员SISMEMBER myset “item1”
SMEMBERS获取集合的所有成员SMEMBERS myset
有序集合操作ZADD向有序集合添加元素ZADD myzset 1 “item1”
ZREM从有序集合中删除元素ZREM myzset “item1”
ZRANGE获取有序集合中指定范围内的元素ZRANGE myzset 0 -1
ZCARD获取有序集合的元素数量ZCARD myzset
哈希操作HSET向哈希表添加字段HSET myhash field1 “value1”
HGET获取哈希表中字段的值HGET myhash field1
HDEL删除哈希表中的字段HDEL myhash field1
HGETALL获取哈希表中的所有字段和值HGETALL myhash
事务MULTI/EXEC标记事务的开始/执行事务中的所有命令MULTI

EXEC
WATCH/UNWATCH监视/取消监视一个或多个键WATCH mykey
UNWATCH mykey
持久化SAVE将数据同步到磁盘SAVE
BGSAVE异步保存数据到磁盘BGSAVE
其他命令FLUSHDB移除数据库中的所有键FLUSHDB
FLUSHALL移除所有数据库中的所有键FLUSHALL
INFO获取服务器信息和统计INFO
MONITOR监听所有新接收到的命令MONITOR
辅助命令PING检查服务是否运行PING
SELECT切换数据库SELECT 1
ECHO打印一条消息ECHO “Hello, Redis!”

四:Redis 高级特性

4.1 持久化

持久化是Redis确保数据安全的重要特性,允许我们将内存中的数据保存到磁盘,防止数据丢失。

  • RDB(快照式持久化):Redis可以配置为在特定时间间隔内保存数据库的快照。RDB持久化可以非常快速地恢复整个Redis数据库,但缺点是可能会丢失最后一次快照之后的数据。

    # 配置RDB持久化
    save 60 1000  # 每60秒,如果至少有1000个键被修改,则进行快照保存
    

本地文件存储位置修改:

dbfilename dump.rdb # 默认名称dir ./

使用命令手动保存

redis-cli.exe save
  • AOF(追加式文件持久化):与RDB不同,AOF持久化记录每个写操作命令,并将其追加到文件末尾。AOF提供了更好的数据安全性,因为它减少了数据丢失的风险,但可能会影响性能,并且恢复速度可能比RDB慢。

    # 配置AOF持久化
    appendonly yes  # 开启AOF持久化
    

4.2 事务

事务在Redis中通过MULTIEXECWATCH等命令实现。一个事务可以包含多个命令,它们将被打包在一起,并在EXEC命令调用时一次性、顺序地执行。

  • 使用MULTI开始一个事务。
  • 将多个命令放入队列。
  • 使用EXEC执行所有排队的命令。
MULTI
SET msg "Hello, Redis!"
INCR counter
EXEC
  • WATCH命令可以用来在事务执行前监视一个或多个键,如果这些键在WATCHEXEC之间被修改,事务将被拒绝执行。

4.3 发布/订阅

发布/订阅模式允许客户端订阅一个或多个频道,当其他客户端向这些频道发送消息时,订阅的客户端会收到消息。

  • 使用PUBLISH命令发布消息到频道。
  • 使用SUBSCRIBE命令订阅频道。
PUBLISH channel1 "Hello, World!"
SUBSCRIBE channel1
  • 当使用PUBLISHchannel1发送消息时,所有订阅了channel1的客户端都会收到这条消息。

4.4 管道(Pipelining)

管道技术允许客户端一次性发送多个命令,而不需要等待每个命令的响应。这样可以显著减少网络延迟,提高性能。

PIPELINE
SET key1 "value1"
SET key2 "value2"
GET key1
GET key2
END
  • PIPELINE命令开始一个管道。
  • 多个命令被放入管道。
  • END命令结束管道并发送所有命令。

4.5 性能监控

  • 使用redis-cli --stat或第三方工具监控性能。

五:数据可视化工具(Redis Desktop)

下载地址:

  • 链接: https://pan.baidu.com/s/1mNPcEwRhc8nsmKtLsGw-6g?pwd=mqef 提取码: mqef

安装

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

右键操作,添加key,过滤,刷新,删除所有的Key

在这里插入图片描述

六:问题

redis运行后不出现图标直接启动

设置了log文件后,就不会出现,需要删除

logfile "./log.text"
# logfile ""

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • jQuery基础——选择器的补充方法——过滤方法、查找方法
  • 【Kotlin设计模式】Kotlin实现装饰器模式
  • 【Linux】FRP:内网穿透
  • 使用 AI进行绘画初体验
  • 易语言教程——第四章—第一个程序—串口调试助手
  • 跨vue、react、angular框架渲染
  • 使用Vue创建cesium项目模版该如何选择?
  • 用Python在PDF文档中创建动作
  • 使用实例:xxl-job应用在spring cloud微服务下
  • uniapp组件用法
  • PTA - C语言接口题集1
  • linux下cpu多核运行程序以及运行时间统计
  • 复杂工件的高效测量方案:自动化三坐标测量与影像测量技术集成
  • 分类预测|基于黑翅鸢优化BKA-Transformer-LSTM组合模型的数据预测Matlab程序多特征输入多类别输出
  • 大语言模型算力优化策略:基于并行化技术的算力共享平台研究
  • ECMAScript6(0):ES6简明参考手册
  • Javascript编码规范
  • js正则,这点儿就够用了
  • Netty源码解析1-Buffer
  • Object.assign方法不能实现深复制
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • React16时代,该用什么姿势写 React ?
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • ViewService——一种保证客户端与服务端同步的方法
  • 阿里云前端周刊 - 第 26 期
  • 初探 Vue 生命周期和钩子函数
  • 第2章 网络文档
  • 翻译:Hystrix - How To Use
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 使用docker-compose进行多节点部署
  • -- 数据结构 顺序表 --Java
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 移动端 h5开发相关内容总结(三)
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • k8s使用glusterfs实现动态持久化存储
  • NLPIR智能语义技术让大数据挖掘更简单
  • #ubuntu# #git# repository git config --global --add safe.directory
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (7) cmake 编译C++程序(二)
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (k8s)Kubernetes本地存储接入
  • (二)pulsar安装在独立的docker中,python测试
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (详细文档!)javaswing图书管理系统+mysql数据库
  • (一)为什么要选择C++
  • (转)为C# Windows服务添加安装程序
  • (转载)从 Java 代码到 Java 堆
  • *上位机的定义
  • .net core 管理用户机密
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .Net IE10 _doPostBack 未定义
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?