启动 Redis (默认配置)
1 | redis-server |
启动 Redis (指定配置)
1 | redis-server redis.conf |
启动 Redis (非保护模式)
1 | redis-server --protected-mode no |
启动 Redis (后台运行)
1 | 1. 修改配置: daemonize yes |
关闭 Redis
1 | redis-cli shutdown |
测试链接 Redis
1 | telnet redis-server-ip 6379 |
设置密码
1 | requirepass 123456 |
- 重启 Redis 服务
- 打开 Redis 客户端:
redis-cli
keys *
提示错误(error) NOAUTH Authentication required.
auth 123456
,然后keys *
,输出所有的 key
绑定 IP
Redis 采用的安全策略默认会只准许本机访问,修改 bind 配置可以允许外网访问,但是 bind 的是 Redis 所在服务器网卡的 ip
,也就是说,如果你的 Redis 服务器有两张网卡,一张是 ip-1,另一张是 ip-2,如果 bind ip-1
,那么只有请求 ip-1 的请求会被受理。
1 | bind 127.0.0.1 # 注释掉这一行,则监听所有 interface(网卡) 接收到的请求 |
**注意: **
bind 的不是请求来源的 IP
选择 DB
Redis 可以使用多个 DB,DB 使用序号: 0, 1, 2, …, 15 来标记,默认 16 个,可以修改配置来增加或减少。
选择要使用的 DB 使用命令 select dbIndex,如 select 1
清空 DB
- 清空当前 DB:
flushdb
- 清空所有 DB:
flushaall
主从复制
配置 Slave 服务器: 只需要在 Slave 服务器的配置文件里加入以下配置
1
2slaveof 192.168.1.1 6379 # 指定 Master 的 ip 和端口
masterauth 123456 # 这是主机的密码Master 的配置不需要修改
1 个 Master 可以有多个 Slave
Redis 类型和命令
参考: Redis 入门
- 普通
- keys pattern
- exists key
- expire key seconds
- ttl key
- String
- set key value
- get
- mset
- mget
- setex
- append
- strlen
- Hash
- hset key field value
- hget key field
- hmset
- hmget
- hgetall key
- hexists key field
- hkeys key
- hlen key
- hdel key field [field…]
- List
- lpush
- rpush
- lset key index value
- lpop key
- lindex key index
- len
- ltrim key start stop
- Set (无序)
- sadd key value
- smembers key
- scard key
- sismember key member
- srem key member [member…]
- ZSet (有序: score)
- zadd key score member
- zrem key member
- zscore key member
- zrange key start stop [WITHSCORES]
- zcard key
- zrank key member
- zincrby key increment member
Redis Benchmark
redis-benchmark -h 192.168.1.201 -p 6379 -c 100 -n 100000
: 100 个并发连接,100000 个请求,检测 host 为 192.168.1.201 端口为 6379 的 Redis 服务器性能redis-benchmark -h 192.168.1.201 -p 6379 -q -d 100
: 测试存取大小为100字节的数据包的性能redis-benchmark -t set,lpush -n 100000 -q
: 只测试某些操作的性能redis-benchmark -n 100000 -q script load "redis.call('set','foo','bar')"
: 只测试某些数值存取的性能
Usage:
redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n <requests]> [-k <boolean>]
1 | -h <hostname> Server hostname (default 127.0.0.1) |
查看有多少个 key
dbsize
: 所有 key 的个数,包含过期未删除的 key1
(integer) 8
info keyspace
: 所有 key 的个数,过期未删除的 key 的个数1
2# Keyspace
db0:keys=8,expires=0,avg_ttl=0