mac安装redis全过程

 更新时间:2025年01月09日 11:51:49   作者:嘿;-)翔  
文章内容主要介绍了如何从官网下载指定版本的Redis,以及如何在自定义目录下安装和启动Redis,还提到了如何修改Redis的密码和配置文件,以及使用RedisInsight进行可视化管理,最后,总结了一些常用的Redis命令

mac安装redis

官网下载指定版本的redis https://redis.io/ 目前3.2.0 是最新最稳定的 版本

这里是历史版本下载

下载指定版本

安装

1.放到自定义目录下并解压

2.打开终端,执行命令

  • cd redis的安装目录下
  • make test -- 此命令的作用是将redis源代码编译成可执行文件,使我们能在服务器上运行redis服务

当出现这个提示表示 编译成功

启动

下载解压后redis文件夹内如此

在终端进入src文件夹下 执行如下命令

./redis-server --不指定配置文件默认走 redis.conf文件

也可指定配置文件

./redis-server ../redis.conf --指定配置文件启动redis服务

启动客户端

./redis-cli

执行简单命令 可查看是否成功

set 1 1 --存放key为1 value为1的 数据
get 1  --获取key为1 的数据

redis默认是没有密码的 端口号为6379

修改 redis的密码 可在redis.conf 文件中 添加

requirepass yourpassword
  • 启动redis服务时指定 配置文件
  • 启动redis客户端时 指定密码
redis-cli -a yourpassword

官网下载可视化界面 Redis Insight

redis-cli 终端界面 添加 对应的值

打开刚刚下载的redis insight

里边就可以看到刚刚设置的值 并且还可以更改 更改完 在终端redis-cli也可以看到

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 常用命令

#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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Redis入门教程详解

    Redis入门教程详解

    本文详细介绍了Redis,文中主要讲解了其基本数据结构、高级数据结构、高级特性、使用场景等,需要了解的朋友可以参考一下
    2021-08-08
  • Windows下搭建Redis哨兵集群模式的方法步骤

    Windows下搭建Redis哨兵集群模式的方法步骤

    哨兵模式,是基于主从复制模式,主从复制的优点全都拥有,并且主从可以实现自动切换,故障转移等功能,本文主要介绍了Windows下搭建Redis哨兵集群模式的方法步骤,文中通过图文介绍的非常详细,感兴趣的小伙伴们可以参考一下,需要的朋友可以参考下
    2023-09-09
  • Redisson分布式限流的实现原理解析

    Redisson分布式限流的实现原理解析

    这篇文章主要为大家介绍了Redisson分布式限流的实现原理解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • redis cluster支持pipeline的实现思路

    redis cluster支持pipeline的实现思路

    本文给大家介绍redis cluster支持pipeline的实现思路,在 cluster 上执行 pipeline 可能会由于 redis 节点扩缩容 中途 redirection 切换连接导致结果丢失,具体细节问题请参考下本文
    2021-06-06
  • Redis高并发超卖问题解决方案图文详解

    Redis高并发超卖问题解决方案图文详解

    Redis是一种基于内存的数据存储系统,被广泛用于解决高并发问题,下面这篇文章主要给大家介绍了关于Redis高并发超卖问题解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-02-02
  • Redis特殊数据类型bitmap位图

    Redis特殊数据类型bitmap位图

    这篇文章主要为大家介绍了Redis特殊数据类型bitmap位图,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 关于redis状态监控和性能调优详解

    关于redis状态监控和性能调优详解

    Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表、哈希、集合和有序集合5种。下面这篇文章主要给大家介绍了关于redis状态监控和性能调优的相关资料,需要的朋友可以参考下。
    2017-09-09
  • Redis整合SpringBoot的RedisTemplate实现类(实例详解)

    Redis整合SpringBoot的RedisTemplate实现类(实例详解)

    这篇文章主要介绍了Redis整合SpringBoot的RedisTemplate实现类,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • 玩转Redis搭建集群之Sentinel详解

    玩转Redis搭建集群之Sentinel详解

    这篇文章主要给大家介绍了关于Redis搭建集群之Sentinel的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • Redis实现分布式锁方法详细

    Redis实现分布式锁方法详细

    在单体应用中,如果我们对共享数据不进行加锁操作,会出现数据一致性问题,我们的解决办法通常是加锁。在分布式架构中,我们同样会遇到数据共享操作问题。本文将介绍Redis实现分布式锁的五种方式。需要的可以参考一下
    2021-12-12

最新评论