Redis
配置
默认redis安装后开启了protected-mode ,不能远程登录。
常用配置是开启protected,绑定IP和密码,进行远程登录。
vim /etc/redis.conf
bind 172.20.170.228 127.0.0.1 #绑定网卡
requirepass jinweichang #链接密码
登录后可查询所有配置参数,
127.0.0.1:6379> config get *
1) "dbfilename"
2) "dump.rdb"
127.0.0.1:6379> config get max*
1) "maxmemory"
2) "0"
127.0.0.1:6379> config set maxmemory 300M
OK
配置完,写入文件(永久生效)
127.0.0.1:6379> config rewrite
OK
登录
远程登录
redis-cli -h 172.20.170.228 -p 6379 -a jinweichang
本地登录也需要密码
redis-cli -a jinweichang
也可以登录后在输密码
[root@localhost etc]# redis-cli
127.0.0.1:6379> AUTH jinweichang
如果没有密码就回报错,无权限操作
127.0.0.1:6379> select 1
(error) NOAUTH Authentication required.
查询密码
cat /etc/redis.conf |grep 'requirepass'
持久化
RDB
只保留当时的数据,时间点快照。
缺点:会有丢失。
配置:
vim /etc/redis.conf
dir /data/redis #文件保存路径
dbfilename dump.rdb #文件名称
save 900 1 #表示900秒内如果有1个更改就save一次
save 300 10 #表示300S内有10次更改就save
save 60 10000
save:前台执行,阻塞redis正常写入,知道持久化完成。
bgsave:后台,开启子线程异步持久化。
AOF
记录所有读写操作命令。
缺点:日志大,还原时间长。
appendonly yes
appendfsync always #记录所有操作
appendfsync everysec #每秒记录一次
appendfsync no
string(字符串)
string 除字符外,还可存图片
max:512M
CRUD
set 存在就修改,不存在就添加
set key1 hellp
设定key的存在时间(单位:s)
setex key2 10 haha
get 查询
get key1
del 删除
del key1
mset批量写入2个key
mset s1 aa s2 bb
mget批量读取
mget s1 s2
构建主从
配制文件,主库6379,从为6379
port 6380
daemonlize yes
pidfile /data/redis1/redis.pid
loglevel notice
dbfilename dump.rdb
dir /data/redis1
requirepass jinweichang
masterauth jinweichang #链接主库的密码
开启服务
redis-server /data/redis1/redis.conf &
开启复制
redis-cli -p 6380 -a jinweichang SLAVEOF 172.20.170.229 6379
查看复制状态,一般只查看主库。
redis-cli -p 6379 -a jinweichang info replication
解除复制
redis-cli -p 6380 -a jinweichang SLAVEOF no one
redis-sentinel(哨兵)
1.监控
2.自动选主
3.第三个库指向新的主库
4.应用透明
5.自动处理故障节点
sentinel配置文件
mkdir /data/26380
cd /data/26380
vim sentinel.conf
port 26380
dir /data/26380
sentinel monitor mymaster 127.0.0.1 6379 1 #票数
sentinel down-after-milliseconds mymaster 5000
sentinel auth-pass mymaster jinweichang
启动sentinel
redis-sentinel sentinel.conf &
## 数据类型 |
---|
string(字符串) k-v |
hash(哈希)字典 use1 name jinwei sex xx |
list(列表) city 北京 南京 西安 |
set 集合 |
zset有序集合 |