redis

redis事务

命令具有原子行,把命令进行序列化保证部分

multi

开启事务:

ps -ef | grep redis

开启一个事务
multi
set k1 v1
set k2 v2
set k3 v3
set k4 v4
set k5 v5
set k6 v6

exec

redis事务只能保证部分原子性。

discard: 放弃队列中的事务

multi

set k1 k2

discard

watch

unwach

subscribe : 消息订阅

subscribe ch1 ch2 ch3

publish : 将消息发布到指定频到

publish ch1 hello

消息中间件:activeMQ

psubscribe:

redis集群

一主二从

修改redis.conf

​ 修改port

​ 修改pidfile

​ 修改logfile = ‘6379.log’

​ 修改dbfilename dump6379.log

​ 修改bind

设置主从关系

设从不设主

执行

slaveof 127.0.0.1 6379
slaveof no one

哨兵模式

主机宕机、从机上位的自动版

部署哨兵:

在 redis 配置文件中, redis_sentinel.conf
sentinel monitor dc-redis 127.0.0.1 6379 1
启动
redis-sentinel redis_sentinel.conf


列表

lpush

rpush

lrange

lpop key 弹出表头

rpop

lindex list index 获取指定下标

llen

lrem key count value 移除count个元素

集合

sadd

smembers

sismember key member 存在返回’1’,不存在返回’0’

scard key 获取集合的长度

srem key member

srandmember key 随机获取 数值小于零获取重复数值

smove set01 set02 a

sdiff key key 获取一个集合又其他集合都没有的集合

sinter set01 set02 set03 都有的值

sunion set01 set02 set03 并集

hash

hset stu1001 id 1001

hget stu1001 id

获取指定file的值:hget key field

hmset

hgetall keys

从指定哈希表中删除一个或多个,hdel stu1001 name age

统计哈希表所有filed的个数 hlen

是否存在某个值 hexists key field

所有的keys : hkeys key

所有的values : hvals key

对指定的field值进行加法运算: hincrby key field 5

hincrby stu1001 age 5

对指定field值进行浮点数运算

hincrbyfloat stu1001 score 80.5

将一个field-value 对设置到哈希表中

hsetnx key field value

Zset有序集合:

zadd

zadd zset01 20 z1 30 z2 50 z3 40 z4

参考链接

Windows环境下安装Redis - 从未被超越 - 博客园 (cnblogs.com)

扩展

消息中间件activeMQ: 聊天中存储消息

info replication

主机