Mac上Redis的安装配置
本文记录Mac上Redis的安装,配置密码,远程访问,持久化等。
安装可以不用下载source code之类,可以直接用:brew install redis. 安装完成后,启动服务可以用:brew services start redis.
此时可以验证一下是否正常,输入redis-cli
$ redis-cli
127.0.0.1:6379> ping
PONG
需要配置密码访问的话,打开redis的配置文件:/usr/local/etc/redis.conf,修改requirepass:
# requirepass foobared
requirepass 你的密码
重启redis:
brew services restart redis
# 或者
redis-server /usr/local/etc/redis.conf
此时ping会提示错误:
$ redis-cli
127.0.0.1:6379> ping
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth new_pw
OK
127.0.0.1:6379> ping
PONG
也可以这样:redis-cli -h localhost -p 6379 -a new_pw 或者 redis-cli -u redis://:new_pw@localhost:6379/0
允许远程访问的话,把刚才配置文件里做一点修改再重启redis:
bind 127.0.0.1 ::1这一行注释掉
daemonize由no改为yes
protected-mode由yes改为no # 如果局域网不用改这个
关于持久化,因为redis是内存数据库,数据都是存储在内存中,为了避免进程退出导致数据的永久丢失,需要定期将Redis中的数据从内存保存到硬盘;当下次Redis重启时,利用持久化文件实现数据恢复。除此之外,为了进行灾难备份,可以将持久化文件拷贝到一个远程位置。
redis提供了两种持久化的方式,分别是RDB(Redis DataBase)和AOF(Append Only File)。RDB是将数据保存到硬盘,AOF是将每次执行的写命令都保存到硬盘,相对来说,除了问题的话AOF恢复得更完整.
在redis的配置文件中关于持久化的:
dir /usr/local/var/db/redis/ # 这个是保存路径
appendonly yes # no改成yes就是开启aof,默认关闭
appendfilename "appendonly.aof" # 这个是aof保存的文件名
#通过SNAPSHOTTING能找到rdb的保存规则等信息
save 900 1
save 300 10
save 60 10000
dbfilename dump.rdb
rdbcompression yes # 默认开启
当需要查看所有的key时可以用keys * , 也可以模糊匹配用keys '*queue*'来获取包含queue的key;
设置值时可以用set key value比如:email abc@null.com;
查看值时可以用get key_name比如:get email;
mset和mget是设置多条和取多条;
删除值可以用del key_name,清空所有用flushdb删除当前数据库所有key,或者用flushall删除所有;
有时候取值时用get会遇到错误提示:'(error) WRONGTYPE Operation against a key holding the wrong kind of value', 这是因为取值时与存数据的类型不一样导致,这个时候先用type key_name获取类型,然后再用对应的方法。比如type "test_data"为hash,那么可以用hkeys "test_data"来获取该hash的所有key,然后再用hget "test_data" "key_name"来获取对应的值。
除了哈希hash外,还会有列表list,集合set,字符串string,有序集合zset(sorted set).