MacOS安装redis

文章目录

  • 前言
  • 一、介绍
  • 二、下载
  • 三、安装
  • 四、启动
  • 五、配置
  • 六、Redis 可视化工具下载
  • 七、配置详解
  • 八、常用命令
  • 总结


前言

Redis因其高性能和低延迟而成为现代应用程序的理想选择,尤其适合需要快速读写操作的场景。随着技术的不断发展,Redis继续在性能、功能和易用性方面进行改进。


一、介绍

Redis(Remote Dictionary Server,远程字典服务器)是一个开源的高性能键值对(key-value)数据库。它以其出色的性能、可靠性和灵活性而闻名,在多种场景下被广泛使用,包括缓存、消息队列、排行榜、实时分析等。
redis的特点如下:

  • 内存中数据存储:Redis主要将数据存储在内存中,这使得读写操作非常快速。
  • 持久化:尽管Redis是内存数据库,但它提供了持久化机制,可以将内存中的数据保存到磁盘上,防止数据丢失。
  • 支持数据结构:Redis支持多种数据结构,包括字符串(strings)、列表(lists)、集合(sets)、有序集合(sorted sets)、散列(hashes)、位图(bitmaps)、超日志(hyperloglogs)和地理空间(geospatial)索引。
  • 原子操作:Redis的所有操作都是原子性的,这意味着多个客户端可以同时访问Redis,而不会导致数据竞态或不一致。
  • 丰富的特性:Redis提供了发布/订阅机制、事务、Lua脚本、慢查询日志、监视器等高级功能。
  • 高可用性:通过Redis Sentinel(哨兵)和Redis Cluster(集群),Redis可以构建高可用的系统,自动处理节点故障和数据分片。
  • 横向扩展:Redis Cluster支持数据分片,允许Redis水平扩展,处理更大的数据集和更高的吞吐量。
  • 多语言客户端:几乎所有流行的编程语言都有Redis的客户端库,方便开发者集成和使用。
  • 社区和生态系统:Redis拥有一个活跃的开发者社区,提供大量的工具、扩展和第三方模块。
  • 适用于多种场景:Redis适用于需要快速访问数据的多种应用场景,如会话缓存、全页缓存、实时分析、排行榜、消息队列等。

二、下载

到官网下载: Redis官网地址
访问官方地址,点击 products ,选择 Downloads
在这里插入图片描述
鼠标滑到下面,找到 Redis downloads
在这里插入图片描述
点击下面的 Install Redis from source 选择对应版本下载
在这里插入图片描述
这里我下载了7.0版本的
在这里插入图片描述
如果要下载历史其他版本,点击releases page 即可
在这里插入图片描述
然后选择对应版本点击下载
在这里插入图片描述

三、安装

下载完成后,打开终端
输入命令到 Downloads目录下,如下(每个人的路径都不一样):

cd /Users/Zhuanz1(需要修改)/Downloads

然后 输入ls 命令查看文件
在这里插入图片描述
输入命令进行解压,解压完成后,Downloads下会多一个解压后的文件夹,如下:

tar -zxvf redis-7.0.15.tar.gz

在这里插入图片描述
输入命令移动文件到指定目录

sudo mv redis-7.0.15 /usr/local

在这里插入图片描述
输入命令进入到redis 目录下进行编译

cd /usr/local/redis-7.0.15/

在这里插入图片描述
输入命令进行编译测试

sudo make test

看到如下提示,编译成功
在这里插入图片描述
执行命令安装 redis

sudo make install

看到如下提示,安装成功
在这里插入图片描述

四、启动

进入到 redis 的启动目录 src下

cd src

在这里插入图片描述
输入命令,启动 redis

./redis-server

如下,启动成功
在这里插入图片描述
在redis 目录下 新建 bin,etc,db 三个目录,命令如下:

mkdir bin
mkdir etc
mkdir db

将src下的执行命令拷贝至bin目录下

cp mkreleasehdr.sh /usr/local/redis-7.0.15/bin/
cp redis-benchmark /usr/local/redis-7.0.15/bin/
cp redis-check-rdb /usr/local/redis-7.0.15/bin/
cp redis-cli /usr/local/redis-7.0.15/bin/
cp redis-server /usr/local/redis-7.0.15/bin

在这里插入图片描述
bin目录下查看
在这里插入图片描述

五、配置

到redis 目录下输入命令编辑 配置文件

vi redis.conf

i开启编辑模式,按esc退出编辑模式,输入q!不保存退出,输入wq保存配置文件退出,然后根据自己情况,修改配置文件

#后台启动
daemonize yes

# 关闭保护模式,开启的话,只有本机才可以访问redis
protected-mode no

# bind绑定的是自己机器网卡的ip,如果有多块网卡可以配多个ip,代表允许客户端通过机器#的哪些网卡ip去访问,内网一般可以不配置bind,注释掉即可
#bind 127.0.0.1

#60 秒内有至少有 1000 个键被改动则生成rbd快照,关闭RDB生成将save注释掉即可
#配置自动生成rdb文件后台使用的是bgsave方式。
# save 60 1000

#打开AOF功能
appendonly yes

#每次有新命令追加到 AOF 文件时就执行一次 fsync ,非常慢,也非常安全。
# appendfsync always

#每秒 fsync 一次,足够快,并且在故障时只会丢失 1 秒钟的数据。
appendfsync everysec

#从不 fsync ,将数据交给操作系统来处理。更快,也更不安全的选择。
# appendfsync no

#aof文件自上一次重写后文件大小增长了100%则再次触发重写
auto-aof-rewrite-percentage 100

//aof文件至少要达到64M才会自动重写,文件太小恢复速度本来就很快,重写的意义不大
auto-aof-rewrite-min-size 64mb

#开启混合持久化(必须先开启aof)
aof-use-rdb-preamble yes

指定 启动配置文件 不指定的话,默认读取 redis目录下 的 redis.conf

./redis-server ../redis.conf 

我开启了后台运行服务,所以没有显示启动界面了
在这里插入图片描述
可以通过命令,查看服务是否启动成功

 ps aux|grep redis

在这里插入图片描述
启动客户端,到bin目录下执行

./redis-cli

在这里插入图片描述
至此redis 安装成功

六、Redis 可视化工具下载

下载地址:https://redis.io/insight/
点击下载
在这里插入图片描述
选择与自己电脑匹配的软件包进行下载
在这里插入图片描述
下载的时候需要填写自己的相关信息,这些信息随便填写即可,只有符合他邮箱或者电话这些校验规则即可,不想填写的可以到我的云盘下载,我下载的是 Mac Apple silicon这个
https://www.123pan.com/s/Ko5rjv-OvwD3.html
提取码:Osfu

然后去安装
在这里插入图片描述
在程序中打开
在这里插入图片描述
点击 列表即可查看 redis中的值了
在这里插入图片描述

七、配置详解

Redis是一个开源的高性能键值存储系统,它的配置可以通过redis.conf文件进行详细设置。以下是一些常见的Redis配置项及其说明:

daemonize: 是否以守护进程方式运行,默认为no。设置为yes时,Redis会在后台运行。

pidfile: 当Redis以守护进程方式运行时,可以通过此配置项指定其进程ID文件的位置。

port: Redis监听的端口,默认为6379。

bind: 绑定的主机地址,可以指定Redis只响应特定IP地址的请求。

timeout: 指定客户端闲置多长时间后关闭连接,如果设置为0,则关闭该功能。

loglevel: 指定日志记录级别,Redis支持四个级别:debug、verbose、notice、warning,默认为notice。

logfile: 指定日志文件的路径,如果设置为stdout,则日志会输出到标准输出。

databases: 设置数据库的数量,默认为16。

save: 指定在多长时间内,有多少次更新操作后,将数据同步到磁盘。例如,save 900 1表示900秒内至少有1个更改时进行保存。

rdbcompression: 是否在存储至本地数据库时压缩数据,默认为yes。

dbfilename: 指定本地数据库文件名,默认为dump.rdb。

dir: 指定本地数据库文件存放的目录。

slaveof: 设置当本机为slave服务时,指向的master服务的IP地址及端口。

masterauth: 当master设置了密码保护时,slave服务连接master的密码。

requirepass: 设置Redis连接密码,客户端连接Redis时需要通过AUTH <password>命令提供密码。

maxclients: 设置同一时间最大客户端连接数,默认无限制。

maxmemory: 指定Redis最大内存限制,达到最大内存后,Redis会根据配置的策略处理内存。

maxmemory-policy: 内存达到上限时的清理策略,如volatile-lru、allkeys-lru等。

appendonly: 是否开启AOF持久化,如果不开启,可能会在断电时导致数据丢失。

appendfilename: 指定AOF文件的名称,默认为appendonly.aof。

appendfsync: 指定AOF文件的同步策略,可以设置为no、always或everysec。

vm-enabled: 是否启用虚拟内存机制,该机制将数据分页存放,将访问量较少的数据swap到磁盘上。

vm-swap-file: 虚拟内存文件的路径。

vm-max-memory: 设置使用虚拟内存的阈值。

vm-page-size: 设置swap文件中的页面大小。

activerehashing: 是否激活重置哈希,默认为yes。

hash-max-zipmap-entries: 指定当哈希表中的元素数量或单个元素大小超过一定值时,采用特殊的哈希算法。

include: 指定包含其他配置文件的路径。

八、常用命令

Redis是一个功能丰富的键值存储系统,提供了大量的命令来操作数据。以下是一些常用的Redis命令:

#GET key: 获取键的值。
redis-cli GET mykey

#SET key value: 设置键的值。
redis-cli SET mykey "Hello"

#DEL key: 删除键。
redis-cli DEL mykey

#EXISTS key: 检查键是否存在。
redis-cli EXISTS mykey

#EXPIRE key seconds: 设置键的过期时间(秒)。
redis-cli EXPIRE mykey 3600

#TTL key: 获取键的剩余生存时间(秒)。
redis-cli TTL mykey

#KEYS pattern: 查找所有符合模式的键。
redis-cli KEYS "user:*"

#RANDOMKEY: 随机返回一个键。
redis-cli RANDOMKEY

#TYPE key: 获取键的类型。
redis-cli TYPE mykey

#FLUSHDB: 清空数据库中的所有键。
redis-cli FLUSHDB

#FLUSHALL: 清空所有数据库中的所有键。
redis-cli FLUSHALL

#APPEND key value: 如果键存在,向键的值追加内容。
redis-cli APPEND mykey " World"

#STRLEN key: 获取键值的长度。
redis-cli STRLEN mykey

#SETRANGE key offset value: 从指定偏移量开始设置键的值。
redis-cli SETRANGE mykey 0 "New Value"

#GETRANGE key start end: 获取键值的一部分。
redis-cli GETRANGE mykey 0 5

#MSET key value [key value ...]: 同时设置多个键值对。
redis-cli MSET key1 "value1" key2 "value2"

#MGET key [key ...]: 同时获取多个键的值。
redis-cli MGET key1 key2

#INCR key: 将键的值增加1,如果键不存在则开始于1。
redis-cli INCR counter

#DECR key: 将键的值减少1。
redis-cli DECR counter

#LPUSH key value: 将值插入到列表头部。
redis-cli LPUSH mylist "item"

#RPUSH key value: 将值插入到列表尾部。
redis-cli RPUSH mylist "item"

#LRANGE key start stop: 获取列表中的元素范围。
redis-cli LRANGE mylist 0 -1

#LREM key count value: 从列表中移除元素。
redis-cli LREM mylist 1 "item"

#SADD key member [member ...]: 向集合添加元素。
redis-cli SADD myset "value1" "value2"

#SREM key member [member ...]: 从集合中移除元素。
redis-cli SREM myset "value1"

#SISMEMBER key member: 检查元素是否是集合的成员。
redis-cli SISMEMBER myset "value1"

#SUNION key [key ...]: 获取多个集合的并集。
redis-cli SUNION myset myotherset

#SINTER key [key ...]: 获取多个集合的交集。
redis-cli SINTER myset myotherset

#ZADD key score member [score member ...]: 向有序集合添加元素。
redis-cli ZADD myzset 1 "one" 2 "two"

#ZRANGE key start stop [WITHSCORES]: 获取有序集合中的元素范围。
redis-cli ZRANGE myzset 0 -1 WITHSCORES

#ZREM key member [member ...]: 从有序集合中移除元素。
redis-cli ZREM myzset "one"

#HSET key field value: 在哈希表中设置字段的值。
redis-cli HSET myhash field1 "value1"

#HGET key field: 获取哈希表中字段的值。
redis-cli HGET myhash field1

#HGETALL key: 获取哈希表中的所有字段和值。
redis-cli HGETALL myhash

#HDEL key field [field ...]: 从哈希表中删除字段。
redis-cli HDEL myhash field1

#PUBLISH channel message: 向频道发布消息。
redis-cli PUBLISH mychannel "Hello World"

#SUBSCRIBE channel [channel ...]: 订阅频道。
redis-cli SUBSCRIBE mychannel

#UNSUBSCRIBE channel [channel ...]: 取消订阅频道。
redis-cli UNSUBSCRIBE mychannel

#CONFIG GET parameter: 获取当前的配置参数值。
redis-cli CONFIG GET maxmemory

#CONFIG SET parameter value: 设置配置参数的值。
redis-cli CONFIG SET maxmemory 100mb

总结

以上就是今天要讲的内容,本文介绍了mac 系统下载安装redis,对redis 的配置文件和常用命令进行详细描述。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

学习笔记——网络管理与运维——SNMP(SNMP版本)

二、SNMP版本 1、SNMP版本 SNMP共有三个版本&#xff1a;SNMPv1、SNMPv2c和SNMPv3。 (1)SNMPv1 1990年5月&#xff0c;RFC1157定义了SNMP的第一个版本SNMPv1。RFC1157提供了一种监口控和管理计算机网络的系统方法。SNMPv1基于团体名认证&#xff0c;安全性较差&#xff0c;…

5.数据仓库与数据挖掘期末复习

ETL的含义Extract 、 Transformation、Load。ODS的全称Operational Data Store。 DW全称 Data WarehourseDM全称是Data Mart数据仓库数据抽取时所用到技术是增量、全量、定时、调度STAGE层作用是提供业务系统数据文件的临时存储ODS层作用ods提供业务系统细节数据长期沉淀MID层…

系统架构师考点--计算机硬件

大家好。今天我总结一下计算机硬件的一些考点。 一、中央处理单元&#xff08;CPU&#xff09; 我们知道&#xff0c;计算机的基本硬件系统由运算器、控制器、存储器、输入设备和输出设备5大部件组成。其中运算器、控制器等部件被集成在一起统称为中央处理单元(Central Proce…

挑战5分钟内基于Springboot+SpringMVC+Mybatis-plus快速构建web后端三层架构

目标 在清晨的代码编辑器上&#xff0c;一场新的挑战即将开始。程序员们肃立于安静的办公室&#xff0c;眼神专注地盯着屏幕&#xff0c;等待着编译器的一声提示。 随着编译器输出的激动人心的"start!"的提示&#xff0c;战斗的序幕拉开了。Bug如潮水般涌来&#x…

C++ bfS

岛屿的最大面积 . - 力扣&#xff08;LeetCode&#xff09; 1.刚开始mn又加了int 2.bfs里符合条件了&#xff0c;不push&#xff0c;&#xff0c;&#xff0c;在写什么几把 class Solution { public:int dx[4] {0, 0, 1, -1};int dy[4] {1, -1, 0, 0};bool vis[50][50];int…

Centos7安装jdk8或11以及切换方案

目录 jdk安装 安装OpenJDK11 安装OpenJDK8 配置默认的 Java 版本 验证 全局环境变量&#xff08;选配&#xff09; 个人版&#xff08;自己可以用&#xff0c;公司不建议&#xff09; 公司版本 /etc/profile 和 ~/.bash_profile 区别 前言-与正文无关 生活远不止眼前的苦…

解决 kali 中使用 vulhub 拉取不到镜像问题

由于默认情况下&#xff0c;访问的镜像是国外的&#xff0c;而从 2023 年开始&#xff0c;docker 的镜像网站就一直访问不了&#xff0c;所以我们可以把镜像地址改成国内的阿里云镜像地址。 1、在 cd /etc/docker/目录下创建或修改daemon.json文件 sudo touch daemon.json 2、在…

【ARMv8/ARMv9 硬件加速系列 3 -- SVE 指令语法及编译参数详细介绍】

文章目录 SVE 汇编语法SVE 单通道谓词SVE 测试代码 SVE 软件和库支持SVE 编译参数配置-marcharmv8-alseprofilememtagsve2-aessve2-bitpermcryptosve2sve2-sha3sve2-sm4 SVE 汇编语法 在介绍 SVE 汇编指令语法之前&#xff0c;先介绍下如何判断自己所使用的芯片是否实现了SVE功…

【TypeScript】泛型工具

跟着 小满zs 学 ts&#xff1a;学习TypeScript24&#xff08;TS进阶用法-泛型工具&#xff09;_ts泛型工具-CSDN博客 Partial 所有属性可选的意思Required 所有属性必选的意思Pick 提取部分属性Exclude 排除部分属性emit 排除部分属性并且返回新的类型 Partial 属性变为可选。…

1. C++面向过程

b站黑马程序员C课程学习笔记&#xff0c;图片存在github&#xff0c;可能需要翻墙才可见 一、C简介 1.1 C的产生及其特点 从C语言发展演变而来&#xff0c;解决了C语言中存在的一些问题&#xff0c;并增加了对面向对象程序设计方法的支持 与其他高级语言相比&#xff0c;C语…

【Unity学习笔记】第十八 基于物理引擎的日月地系统简单实现

转载请注明出处: https://blog.csdn.net/weixin_44013533/article/details/139701843 作者&#xff1a;CSDN|Ringleader| 目录 目标数学理论资源准备数据准备代码实现Unity准备效果展示注意事项后记 目标 目标&#xff1a;利用Unity的物理引擎实现 “日地月三体系统” 。 效果…

【Android面试八股文】请描述new一个对象的流程

文章目录 请描述new一个对象的流程JVM创建对象的过程检查加载分配内存内存空间初始化设置对象初始化请描述new一个对象的流程 JVM创建对象的过程 当JVM遇到一条new指令时,它需要完成以下几个步骤: 类加载与检查内存分配 并发安全性内存空间初始化设置对象信息对象初始化下图…

upload-labs第十二关教程

upload-labs第十二关教程 一、源代码分析代码审计 二、绕过分析截断绕过magic_quotes_gpc函数介绍关闭magic_quotes_gpc上传eval.png文件使用burpsuite进行抓包修改放包&#xff0c;查看是否上传成功使用中国蚁剑进行连接 一、源代码分析 代码审计 $is_upload false; $msg …

网络协议,OSI,简单通信,IP和mac地址

认识协议 1.讲故事 2004年&#xff0c;小明因为给他爹打电话&#xff08;座机&#xff09;费用太贵&#xff0c;所以约定一种信号&#xff0c;响一次是报平安&#xff0c;响两次是要钱&#xff0c;响三次才需要接通。 2.概念 协议&#xff1a;是一种约定&#xff0c;这种约…

基于CentOS Stream 9平台安装MySQL8.4.0 LTS

1. 安装之前 1.1 查看系统版本 [rootcoisini /]# cat /etc/redhat-release CentOS Stream release 9 1.2 查看cpu架构 [rootcoisini /]# lscpu 架构&#xff1a; x86_64 CPU 运行模式&#xff1a; 32-bit, 64-bit 2. MySQL官方下载https://dev.mysql.com/downloads/mysql/ 或…

Web期末复习指南(2w字总结)

前言&#xff1a;本文旨在梳理Web技术常包含的内容&#xff0c;阅读完整篇文章后会对整体有个系统的认知&#xff0c;从前端的HTML到后端的MySql&#xff0c;对于大概试题中可能会涉及的地方都有所分析&#xff0c;通篇提供了许多代码案例&#xff0c;供读者更好的理解。对于一…

MongoDB~事务了解;可调一致性模型功能与因果一致性模型功能分析

背景 MongoDB 从 3.0版本引入 WiredTiger 存储引擎之后开始支持事务&#xff0c;MongoDB 3.6之前的版本只能支持单文档的事务&#xff0c;从 MongoDB 4.0版本开始支持复制集部署模式下的事务&#xff0c;从 MongoDB 4.2版本开始支持分片集群中的事务。 根据官方文档介绍&…

代码随想录算法训练营第二十四天| (回溯) 77. 组合、 216.组合总和III、17.电话号码的字母组合

77. 组合 题目链接&#xff1a;77. 组合 文档讲解&#xff1a;代码随想录 状态&#xff1a;很多细节忘了 思路&#xff1a;先画图&#xff0c;然后可以发现&#xff0c;从1到n中选择k个数&#xff0c;可以看成是一个递归过程&#xff0c;这个递归的深度就是k。然后遍历当前这层…

企业化运维(2)_nginx

###1.nginx源码安装部署### ###2.平滑升级### &#xff08;1&#xff09;版本升级 当服务器在运行时&#xff0c;需要升级的情况下&#xff0c;平滑升级即就是不断开服务器就可以进行升级&#xff0c;最大限度保证数据的完整性。 下载nginx新版本软件&#xff0c;正常执行./c…

简易五子棋

简介 使用Java实现简易五子棋 规则介绍 游戏使用一个标准的1515方格的棋盘&#xff0c;双方分别用黑白两种颜色的棋子进行对战。黑子先行&#xff0c;双方轮流在空棋盘的交叉点上落子&#xff0c;每人一次只能落一子。游戏的目标是让自己的五颗棋子连成一线&#xff0c;这条…