Redis 操作
redis支持的存储类型以及命令使用
- string(字符串)
# 存
set <key> <string value>
# 存多个
mset <key> <string value>
# 取
get <key>
# 取多个
mget <key> <string value>
# 删,多个key就是删除多个
del <key...>
#存储的数字加1
incr <key>
#存储的数字减1
decr <key>
- list
# 头部插入
lpush <key> <value1 value2 ....>
# 尾部插入
rpush <key名称> <value1 value2 ....>
# 头部删除
lpop <key>
# 尾部删除
rpop <key>
# 删除前几个指定的值
lrem <key> <删除数量> <vlaue>
# 查询
lrange <key> <开始下标> <结束下标> <查所有:0 -1>
# 长度查询
llen <key>
set(集合)
- 集合
# 存
sadd <key> <value1 value2 ....>
# 取
smembers <key>
# 判断指定值是否存在
sismembers <key> <value>
# 获取集合长度
scard <key>
# 删
srem <key> <value1 value2 ....>
# 差集(一个集合中,其他集合中没有)
sdiff <key1 key2 .....>
# 交集(集合中都有的)
sinter <key1 key2 .....>
# 并集(集合中所有的值自动去重):
sunion <key1 key2 .....>
- zset(有序集合)
# 存
zadd <key> <score 1> <value 1> <score 2> <value 2>
# 取:
zrange <key> <start value> <end value>
# 根据score获取
zrangebyscore <key> <min value> <max value>
# 删
zrem <key> <value>
# 获取值得下标
zrank <key> <value>
- hash(哈希)
# 存
hset <key> <field> <value>
# 存多个
hmset <key> <field> <value> <field> <value> ...
# 取
hget <key> <field>
# 取所有
hgetall <key>
# 判断字段是否存在
hexists <key> <field>
# 获取所有的字段
hkeys <key>
# 获取所有的值
hvals <key>
# 删除一个或多个
hdel <key> <value1 value2 ...>
redis使用场景:
- Redis是基于内存的nosql数据库,可以通过新建线程的形式进行持久化,不影响Redis单线程的读写操作
- 通过list取最新的N条数据
- 模拟类似于token这种需要设置过期时间的场景
- 发布订阅消息系统
- 定时器、计数器
redis主从配置
先整多个redis服务,将每个redis服务的配置文件redis.windows.conf中的端口号修改掉,然后启动每个redis服务
可以通过info replication查看主机是否有配置过从机
在从机上运行slaveof 127.0.0.1 6379,这里的端口是主机的端口