redis的简单了解 redis默认为16个库 从0到15 select 切换库 select 7 切换第8个库 dbsize 查看当前数据库的key的数量 keys * 获得所有keys keys id 获得精确key flushdb 清空当前库 flushall 清空所有库 Re
redis的简单了解
redis默认为16个库 从0到15select 切换库 select 7 切换第8个库
dbsize 查看当前数据库的key的数量
keys * 获得所有keys
keys id 获得精确key
flushdb 清空当前库
flushall 清空所有库
Redis的五大数据类型
redis键key
redis 字符串 String
redis 列表 List
redis 集合 Set
redis 有序集合Zset(sorted set)
redis String
move k1 2 把当前库中的k1键移除到2号库中
expire k1 5 把当前库中的K1键设置存活5秒
ttl key 查看还有多少秒过期 -1表示永远不过期 -2表示已经过期
type key 查看你的key是什么类型
append k1 a 往k1键中追加a元素
strlen k1 获得k1键值的元素长度
incr 增加
decr 减少
getrange k1 0 2 获得指定区间范围的值,从0到-1表示全部
setrange k1 0 abc 设置指定区间范围的值,没有添加,有的替换
setex k1 10 v1 设置k1存活时间为10秒
mset k1 v1 k2 v2 设置多个键值对
msetnx k1 v1 k2 v2 设置多个键值对
mget k1 k2 获得多个键的值
redis List
rpush list 1 2 3 4 5 先进先出
lrange list 0 -1 查看全部
lpop list 移除第一个
rpop list 移除最后一个
rename list list1 把list重名为list1
lindex list 2 获得前面第2号位的元素
lindex list -2 获得后面第2号位的元素
lrem list 2 3 删除list键中2个3value
ltrim list 0 4 截取0号位置到4号位置之后赋值给list
rpoplpush list1 list2 将list1最后一个移除放到list2中
lset list 1 a 设置list 第1号位置为a
linsert list before/after 1 a 往list 第一个元素为1的位置前面或者后面添加a元素
redis set
smembers set1 查看set1集合
sismember set1 1 查询set1集合中是否存在1的元素
scard set1 获得集合元素个数
srem set1 3 删除集合中的元素
srandmember set1 3 随机出3个数
spop set1 随意出栈
smove set1 set2 5 将set1中的5移除到set2集合中
sdiff set1 set2 获得set1和set2的差集
sinter set1 set2 获得set1和set2的交集
sunion set1 set2 获得set1和set2的并集
redis Hash
hset user id 1 设置 user的id为1 这里的user就是K id和1就是键值对
hmset user id 1 name xiaoming 设置多个键值对
hmget user id name 获得多个键中的值
hgetall user 获得全部键值对
hdel user name 删除name
hlen user 获得长度
hexists user id 获得user id的值
hkeys/hvals user 获得user中所有的key/获得user中所有value
hincrby/hincrbyfloat user age 2 使age的数增加2
redis Zset
zrange zset1 0 -1 获得zset1所有值
zrange zset1 0 -1 withsocres 获得zset1中值和score
zrangebyscore zset1 60 70 获得zset1中score在60和70之间的值
zrangebyscore zset1 (60 70 大于60
zrangebyscore zset1 (60 (70 大于60小于70
zrangebyscore zset1 60 70 limit 2 2 获得数据中从下标为2截取2个
zrem zset1 v2 删除v2
zcard zset1 获得个数
zcount zset1 60 70 统计60到70之间的个数
zrank zset1 v2 获得v2下标
zscore zset1 v2 获得v2的score
zrevrank zset1 v2 逆序获得v2的下标
zrevrange zset1 0 -1 倒序输出
redis 基本配置
1.redis.config配置文件设置密码 config set requirepass 'root'
登录 auth root
____________________________________
1.开启事物
multi
set k1 v1
exec 执行
discard 放弃事物
127.0.0.1:6379[1]> multi
OK
127.0.0.1:6379[1]> set k1 v1
QUEUED
127.0.0.1:6379[1]> set k2 v2
QUEUED
127.0.0.1:6379[1]> set k3 v3
QUEUED
127.0.0.1:6379[1]> get k2
QUEUED
127.0.0.1:6379[1]> exec
1) OK
2) OK
3) OK
4) "v2"
multi
set
watch 开启监控
watch k1 监控k1
开启 排队 执行
____________________________
redis订阅和发布
执行命令:
subscribe a b c 一个客户端订阅a b c三个业务
另一个客户端执行如下
127.0.0.1:6379> PUBLISH a nihao 发布订阅a的消息
则订阅a的业务的客户端会收到nihao的消息
使用多个订阅
psubscribe a* 一个客户端订阅多个以a开头的包括a的业务
——————————————————————————————
redis复制
windows下开启redis服务
redis-server.exe redis.windows.6381.conf
slaveof 127.0.0.1 6379 连接主机端口为6379
slaveof no one 修改为主机
info replication 查看当前端口角色