Redis学习笔记-20190422

一、Redis发布订阅

subscribe redisChat

publish redisChat ****

发布订阅命令:

1 PSUBSCRIBE pattern [pattern ...]

订阅一个或多个符合给定模式的频道

2  PUBSUB subcommand [argument [argument ...]]

查看订阅与发布系统状态

3  PUBLISH channel message

将信息发送到指定的频道

4  PUNSUBSCRIBE [pattern [pattern ...]]

退订所有给定模式的频道

5  SUBSCRIBE channel [channel ...]

订阅给定的一个或多个频道的信息。

6  UNSUBSCRIBE [channel [channel ...]]

指退订给定的频道

二、Redis事务

批量操作在发送exec命令前被放入队列缓存

收到exec命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行

在事务执行过程中,其他客户端提交的命令不会插入到事务执行的命令序列中

事务以MULTI开始,然后将多个命令入队列到事务中,最后由EXEC命令触发

1 DISCARD   取消事务,放弃执行事务块内的所有命令

2  EXEC  执行所有事务块内的命令

3  MULTI  标记一个事务块的开始

4  UNWATCH  取消 WATCH 命令对所有 key 的监视

5  WATCH key [key ...]  监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断

三、Redis脚本

EVAL script numkeys key [key ...] arg [arg ...]

EVAL "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 2 key1 key2 first second

四、Redis连接

1 AUTH password  验证密码是否正确

2 ECHO message  打印字符串

3 PING  查看服务是否运行

4 QUIT  关闭当前连接

5 SELECT index  切换到指定的数据库

INFO 何获取 redis 服务器的统计信息

五、Redis数据备份与恢复

save 将在redis安装目录中创建dump.rdb文件,如需恢复数据,只需将备份文件移动到安装目录并启动服务即可

config get dir 获取安装目录

bgsave 也可备份文件,该命令在后台执行

六、Redis安全

config get requirepass 查看是否设置密码

config set requirepass "runoob"

auth "runoob"

七、Redis 性能测试

redis-benchmark [option] [option value]

e.g. 

redis-benchmark -n 10000 -q  

同时执行 10000 个请求来检测性能

redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 10000 -q

主机为 127.0.0.1,端口号为 6379,执行的命令为 set,lpush,请求数为 10000,通过 -q 参数让结果只显示每秒执行的请求数

八、Redis 客户端连接

最大连接数:2.4版本hardcode最大连接数,2.6版本可配置

config get maxclients 获取最大连接数

启动时设置最大连接数:redis -server --maxclients 1000000

客户端命令:

1 CLIENT LIST 返回连接到 redis 服务的客户端列表

2  CLIENT SETNAME  设置当前连接的名称

3  CLIENT GETNAME  获取通过 CLIENT SETNAME 命令设置的服务名称

4  CLIENT PAUSE  挂起客户端连接,指定挂起的时间以毫秒计

5  CLIENT KILL  关闭客户端连接

九、Redis 管道技术

Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务,通常情况下,一个请求遵循以下步骤:

客户端向服务器发送一个请求,并监听socket返回,通常是以阻塞模式,等待服务端响应

服务端处理请求,并将结果放回给客户端

Redis管道技术:redis管道技术可以在服务端未响应时,客户端可以继续向服务端发送请求,并最终一次性读取所有服务端的响应,可以显著提高redis服务性能

十、Redis 分区

分区类型:

范围分区:需要维护范围到实例的映射表

哈希分区:使用hash函数将key转换为一个数字,对这个整数取模,取模后映射到对应的实例

十一、JAVA连接redis

你可能感兴趣的:(Redis学习笔记-20190422)