----------- redis安装 -----------------------------------------
-- 安装reids:https://redis.io/download (4.0.10)
wget: http://download.redis.io/releases/redis-4.0.10.tar.gz
--安装reids需要依赖
yum install tcl -y
yum install gcc-c++ -y
-- 源码安装reids
make MALLOC=libc -j 4 => 以四核方式编译源码文件
make test -j 4 => 测试编译的源码是否有问题
make PREFIX=/usr/local/redis install ==> 指定安装redis位置
-------------------------------------------------------------

vi里面的/内容可以搜索  n下一个,N是上一个

-- 启动方式
-- 前端默认启动
指定端口启动 ./redis-server --port 6380
客户端连接到指定端口: ./redis-cli -p 6380
正常关闭: ./redis-cli -p 6380 shutdown

拷贝redis配置文件到安装bin目录: cp /root/redis-4.0.10/redis.conf ./
指定配置文件启动 ./redis-server ./redis.conf
远程连接redis ./redis-cli -p 端口号 -h 连接主机IP
保护机制(要不bind绑定ip,要不使用requirepass设置访问密码) 【保存文件: wq,x】
密码连接 -a ./redis-cli -p 端口号 -h 连接主机IP -a 访问密码
./redis-cli -p 6379 -h 127.0.0.1 -a gerryredis

新建一个配置文件:cat redis.conf | grep -v "#" | grep -v "^$" > 6379.conf

-- 五种结构
type 查看当前结构类型(string,hash,list,set,zset)
ttl 查看当前键的过期时间
flushall 清空所有库中数据
save 强制保存
del 删除指定的key
rename 重命名key的名称

String(开发中使用最多的结构)
----
set 设置值
ttl -1 代表永不过期, -2 查看的键不存在
setex 设置key的过期时间 以秒为单位
psetex 设置key的过期时间 以毫秒为单位
get 获取key对应值
getrange [0,2]=>筛选的值包含开始和结尾hello->hel
getset 获取原始值,设置新的值
mset 可以一次设置多个key-valu mset k1 v1 k2 v2 .....
mget 可以一获取多个key对应值 mget k1 k2 k3
sexnx 带判断的设置key和value,如果key已经存在则设置不成功
strlen 获取key的值的长度
msetnx (批量设置key对应值,如果其中有一个值存在,那么操作就会失败)=>具有原子性
incr 原子递增1
incrby 原子递增设置 incr number 20
decr 原子递减1
decrby 原子递减某个数 decrby number 20
append 追加内容
del 指定删除一个key

hash
----
map key value
hset 设置hash的key对应的值
hexists 判断key对应的字段是否存在
hget 获取某个key对应字段的值
hgetall 获取某个key项目所有字段和值
hkeys 获取某个key下面所有字段
kvals 获取某个key下面所有值
hlen 获取某个key下面的字段个数
hmget 一次性获取某个key下面指定字段对应值
hmset 设一次性置某个key下面指定字段的值
expire 设置key的过期时间 eg: expire key seconds
hdel 删除某个key下面指定字段

list
----
lpush
llen
lrange
lset
lindex
lpop list
rpop list
========
当前列表中数据不存在时,key自动删除

---
set(无序集合)
sadd 添加元素
scard 查看元素个数
rename 重命名key的名称
smembers 查看集合中所有元素
sdiff 求差集
sinter 求交集
sunion 求并集
srandmember 随机从指定集合中获取对应count的元素
sismember 判断某个元素是否为集合成员
spop(随机移除一个元素,并返回这个移除元素)

---
zset(有序集合)
zadd 添加有序集合的元素 zadd sortedSet 100 a 200 b 300 d
zcard 返回添加的元素个数
zscore 获取当前有序集合key对应分数 zscore sortedSet a
zcount 返回一个区间内的分数个数zcount sortedSet 100 200 返回2个
zrank 返回某个key在有序集合中排序的索引
zincrby 指定key的value增长的大小 zincrby sortedSet 100 s
zrange set 0 100 withscores

注意: 有序集合中的key对应的value必须是数字类型的字符

 

# redis-trib.rb create --replicas 1 192.168.4.51:6351 192.168.4.52:6352 192.168.4.53:6353 192.168.4.54:6354 192.168.4.55:6355 192.168.4.56:6356