1.下载:
https://redis.io/download
2.解压:
tar zxvf redis-6.2.1.tar.gz
3.校验:
sudo make test
4.安装:
sudo make install
5.启动:
redis-server /xxx/redis.conf
6.终止:
redis-cli shutdown
7.后台:
修改redis.conf ->daemonize = yes
8.密码:
requipass = xxx
9.认证:
auth password
10.文档:
http://redisdoc.com
#修改为守护模式 daemonize yes #设置进程锁文件 pidfile /usr/local/redis-4.0.11/redis.pid #端口 port 6379 #客户端超时时间 timeout 300 #日志级别 loglevel debug #日志文件位置 logfile /usr/local/redis-4.0.11/log-redis.log #设置数据库的数量,默认数据库为0,可以使用SELECT <dbid>命令在连接上指定数据库id databases 16 ##指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合 #save <seconds> <changes> #Redis默认配置文件中提供了三个条件: save 900 1 save 300 10 save 60 10000 #指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间, #可以关闭该#选项,但会导致数据库文件变的巨大 rdbcompression yes #指定本地数据库文件名 dbfilename dump.rdb #指定本地数据库路径 dir /usr/local/redis-4.0.11/db/ #指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能 #会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有 #的数据会在一段时间内只存在于内存中 appendonly no #指定更新日志条件,共有3个可选值: #no:表示等操作系统进行数据缓存同步到磁盘(快) #always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全) #everysec:表示每秒同步一次(折衷,默认值) appendfsync everysec
查看所有key:
keys *
判断存在:
exists key
key移库:
move key db_index
设置过期:
expire key n(second)
查看过期(-1永不过期,-2已过期):
ttl key
查看类型:
type key
自增1:i ncr key
自减1: decr key
增n: incrby key n
减n: decrby key n
取值:getrange key index_0 index_1
替换:setrange key index xxx
setex key seconds value
setnx key value
mset/mget/msetnx
命令 | 说明 |
---|---|
HDEL key field1 [field2] | 删除一个或多个哈希表字段 |
HEXISTS key field | 查看哈希表 key 中,指定的字段是否存在。 |
HGET key field | 获取存储在哈希表中指定字段的值。 |
HGETALL key | 获取在哈希表中指定 key 的所有字段和值 |
HINCRBY key field increment | 为哈希表 key 中的指定字段的整数值加上增量 increment 。 |
HINCRBYFLOAT key field increment | 为哈希表 key 中的指定字段的浮点数值加上增量 increment 。 |
HKEYS key | 获取所有哈希表中的字段 |
HLEN key | 获取哈希表中字段的数量 |
HMGET key field1 [field2] | 获取所有给定字段的值 |
HMSET key field1 value1 [field2 value2 ] | 同时将多个 field-value (域-值)对设置到哈希表 key 中。 |
HSET key field value | 将哈希表 key 中的字段 field 的值设为 value 。 |
HSETNX key field value | 只有在字段 field 不存在时,设置哈希表字段的值。 |
HVALS key | 获取哈希表中所有值。 |
HSCAN key cursor [MATCH pattern] [COUNT count] | 迭代哈希表中的键值对。 |
[root@localhost ~]#cd /usr/local/ [root@localhost ~]#mkdir -p redis-cluster/{6379,7000,7001,7002,7003,7004}
# 允许访问ip bind 0.0.0.0 # 指定端口——————(修改) port 7004 # 启动后台运行 daemonize yes # 存放进程Id ——————(修改) pidfile /usr/local/redis-cluster/7004/7004.pid # 日志文件——————(修改) logfile "7004.log" # 3600秒内有一个key变化就执行快照持久化 save 3600 1 # 快照存放文件——————(修改) dbfilename 7004.rdb # 工作目录——————(修改) dir /usr/local/redis-cluster/7004 # 是否启动保存操作日志 appendonly yes # 操作日志存放文件——————(修改) appendfilename "7004.aof" # 是否开启集群 cluster-enabled yes # 集群配置文件(启动后自动生成)——————(修改) cluster-config-file nodes-7004.conf # 集群节点ping、pong超时时间 cluster-node-timeout 5000
[root@localhost redis-cluster]# cd 6379 [root@localhost redis-cluster]# redis-server redis.conf [root@localhost redis-cluster]# cd ../7000/ [root@localhost redis-cluster]# redis-server redis.conf [root@localhost redis-cluster]# cd ../7001/ [root@localhost redis-cluster]# redis-server redis.conf [root@localhost redis-cluster]# cd ../7002/ [root@localhost redis-cluster]# redis-server redis.conf [root@localhost redis-cluster]# cd ../7003/ [root@localhost redis-cluster]# redis-server redis.conf
redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 \ 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:6379 \ --cluster-replicas 1
redis-cli -a cyclone -c -h 127.0.0.1 -p 7001
redis-cli -a cyclone -c -h 127.0.0.1 -p 7001 shutdown
# 被关闭的节点重启后自动加入集群 redis-server /usr/local/redis-cluster/7001/redis.conf
redis-cli -h 127.0.0.1 -p 7001 cluster nodes