brew更新的时候不更新某个应用_【不定期更新】Mac上使用Redis指北

b629a5509ec2e38b32e9982c9a23ae70.png

最近在尝试人生第一个网络编程小项目,有接触到Redis。这篇文章简单介绍一下Mac上使用Redis的基/本/法和踩过的坑。随着项目进展或许会不定期更新,也欢迎前辈们指出不正确的地方。

Redis

REmote DIctionary Server(Redis) 是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型的,Key-Value数据库,并提供多种语言的API。同时,它也支持字符串、哈希、列表、集合等类型的存储。

通常我们将Redis作为缓存来使用。

安装 Redis

Mac安装Redis的过程比较简单,但也会碰到一些小问题。

  1. homebrew 上查看 Redis 版本以及本机是否已经安装了 Redis
输入命令: brew search redis
输出如下:
==> Formulae
hiredis         redis           redis-leveldb   redis@3.2 ✔     redis@4.0
==> Casks
another-redis-desktop-manager            redis
redis

例如我的电脑中 redis@3.2 已经安装,则会看到 redis@3.2 后面打了一个【√】,没有安装则不会有【√】 。

2. 安装 Redis 某个版本

输入命令:brew install redis@3.2

如果想下载 Redis 的其他版本,把后面的【3.2】替换成其他版本号即可。

如果没有更新 homebrew,则会看到命令执行后输出的第一条是 【updateding homebrew...】,然后会卡住很长时间。这时如果不想更新需要先停掉命令,然后取消 brew 的自动更新。

输入命令:export HOMEBREW_NO_AUTO_UPDATE=true

另一种方法是编辑 ~./bash_profile 文件,但是相对麻烦一些。本质上都是把上面这行命令加入 ~./bash_profile 这个文件中。

然后重新 brew install,即可下载并安装 Redis 了。

启动 Redis

方法一:redis-server

默认路径下输入命令:redis-server
输出:
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 3.2.13 (00000000/0) 64 bit
  .-`` .-```.  ```/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 81509
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'            

看到上述输出即表明启动成功。

方法二:brew services start redis

输入命令:brew services start redis@3.2 (或其他版本号)

这时,如果 brew 版本较旧(比如安装的时候没让它自动更新hhhh)会出现如下报错:

Error: Unknown command: services

这时就老老实实敲 brew update 然后慢慢等吧。。。

命令行使用 Redis

windows 系统下的 RedisDeskManager 和 RedisClient 都是常用的 Redis 图形界面客户端,Mac 下也有对应的 another-redis-desktop-manager。但本人比较懒,打算先用命令行试试。

  1. 进入 Redis 客户端:redis-cli

成功开启 Redis 的那个终端就先放在那,我们打开一个新的终端。

默认路径下输入:redis-cli
输出:127.0.0.1:6379>

这时就可以在【>】后面输入 redis 命令啦。

2. 查看 Redis 缓存:KEYS *

127.0.0.1:6379> KEYS *
1) "indexes::all_codes"

这个命令可以查看目前存放在 Redis 中全部的 key。

3. 查看 Redis 缓存内容:GET/LRANGE

127.0.0.1:6379> GET indexes::all_codes

GET 命令能够取出对应 key 值的全部内容(value)。与之对应的是【LRANGE KEY START END】命令,能够取出列表中指定区间内的元素,区间以偏移量 START 和 END 指定。

4. Redis 显示中文:--raw

使用命令行操作时,Redis 读取到的内容中的中文会显示为 16 进制的字符串,影响阅读。例如:

127.0.0.1:6379> GET indexes::all_codes
"["java.util.ArrayList",[["****",{"code":"399975","name":"xe8xafx81xe5x88xb8xe5x85xacxe5x8fxb8"}],..."

解决这个问题很简单,在连接客户端的时候加上 --raw 即可:

默认路径下输入:redis-cli --raw
127.0.0.1:6379> GET indexes::all_codes
["java.util.ArrayList",[["****",{"code":"399975","name":"证券公司"}],..."]

5. 关闭 Redis 客户端的连接:QUIT

QUIT 命令用于关闭当前客户端与 Redis 服务的连接。一旦所有等待中的回复(如果有的话)顺利写入了客户端,连接就会被关闭。

127.0.0.1:6379> QUIT

但这时,Redis 服务本身还没有被关闭。如需关闭 Redis 服务,还有最后一步。

关闭 Redis 服务

方法一:redis-cli shutdown

断开 redis 客户端之后,终端会回到默认路径(base)下。

输入:redis-cli shutdown

此时,会看到另一个启动 Redis 的终端下输出如下内容:

83196:M 08 May 15:24:58.713 # Server started, Redis version 3.2.13
83196:M 08 May 15:24:58.714 * DB loaded from disk: 0.001 seconds
83196:M 08 May 15:24:58.714 * The server is now ready to accept connections on port 6379
83196:M 08 May 15:28:08.857 # User requested shutdown...
83196:M 08 May 15:28:08.857 * Saving the final RDB snapshot before exiting.
83196:M 08 May 15:28:08.859 * DB saved on disk
83196:M 08 May 15:28:08.859 # Redis is now ready to exit, bye bye...

表示 Redis 成功关闭。

方法二:(非常不推荐)kill 进程的方式强制退出

在极端情况下也可以使用 kill -9 / kill -15 命令强行结束 Redis 进程,然而强行终止 Redis 进程可能会导致 Redis 持久化丢失

输入:ps aux|grep redis (查看 redis 使用的进程)
输入:kill -15 *****(redis 进程号)

(如果必须使用,还是更推荐 kill -15)

第一部分就写到这里,欢迎围观。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值