
redis
wkCaeser_
蹒跚学步,笨鸟先飞,但好像有点飞不动......
展开
-
redis-----key-value
redis的key-value类型,用来存储键值对。# set 存入键值127.0.0.1:6379> set name wkOK# get 获取键值127.0.0.1:6379> get name"wk"# del 删除键值127.0.0.1:6379> del name(integer) 1127.0.0.1:6379> get name(n...原创 2018-04-08 10:32:24 · 284 阅读 · 0 评论 -
使用spring-data-redis选用特定的数据库
redis中,默认的数据库个数为16。索引为0-15 在使用spring-data-redis时,选择某个数据库,设置连接工厂的dbIndex即可。 例如,使用lettuce选择某个数据库,连接工厂配置如下:/** * lettuce 连接工厂配置 * * @return LettuceConnectionFactory implement RedisCo...原创 2018-06-29 17:34:17 · 4146 阅读 · 0 评论 -
各版本lettuce sentinel spring集成流程(连接池、哨兵配置)
spring-data-2与其上一个版本1.8是一个分水岭,2.0用的是io.lettuce:lettuce-core,2.0之前的spring-data用的是biz.paluch.redis:lettucespring-data-2.0以上版本配置spring-data-redis版本2.0.9.RELEASE io.lettuce:lettuce-core版本5.0.4.RELE...原创 2018-08-30 18:53:42 · 5256 阅读 · 1 评论 -
redis哨兵集群配置
redis master参数配置: redis.conf#无变化 需要注意的是host# redis中默认的启动了保护模式,如果没使用密码,且ip不是127.0.0.1的话,需要关闭保护模式protect-mode:no# 其他节点也一样#host 需要填写client可以访问的ip# 例如client和实例在一个机器上,可以使用127.0.0.1# 如果client...原创 2018-09-02 21:02:34 · 686 阅读 · 0 评论 -
Gossip 数据传输协议
Hyperledger Fabric通过在交易执行(endorsement和committing)peer节点和交易ordering节点之间划分工作负载来优化块链网络性能,安全性和可扩展性。网络操作的这种解耦需要一个安全,可信的和可扩展的数据传播协议,以确保数据的完整性和一致性。为了满足这些要求,Hyperledger Fabric实现了Gossip数据传播协议。Gossip协议Peer利用g...转载 2018-09-20 10:08:29 · 718 阅读 · 0 评论 -
redis-sentinel 常用命令
# 重置名字匹配正则表达式的所有master状态信息,清除之前存储的状态信息和slaves信息。PS:节点只要加入过sentinel,信息就会保存而不会自动清除 sentinel reset <pattern># 用于改变关于master的配置,例如 sentinel set mymaster down-after-milliseconds 1000 ,此命令修改了当节点第一次...原创 2018-09-28 14:05:25 · 17024 阅读 · 0 评论 -
redis监控工具
redis-monitor项目github地址:https://github.com/NetEaseGame/redis-monitor (看作者名称,应该是华科的)# 安装 pip install redis-monitor#初始化 redis-monitor init#启动nohup redis-monitor start &amp;amp;amp;amp;amp;gt; redis-monitor.log &amp;amp;amp;amp;amp;a原创 2018-09-28 14:07:33 · 2315 阅读 · 3 评论 -
redis sentinel的脚本机制及实现twemproxy主从自动切换
redis sentinel 脚本机制1).sentinel notification-script 通知型脚本:当sentinel有任何警告级别的事件发生时(比如说redis实例的主观失效和客观失效等等),将会去调用这个脚本,这时这个脚本应该通过邮件,SMS等方式去通知系统管理员关于系统不正常运行的信息。调用该脚本时,将传给脚本两个参数,一个是事件的类型,一个是事件的描述。如果...原创 2018-09-28 14:46:14 · 1354 阅读 · 0 评论 -
twemproxy安装访问及同机部署多实例
twemproxy是干啥的网上讲的很多,这里就不提了。项目github地址:https://github.com/twitter/twemproxy/releasestwemproxy不支持事务操作twemproxy支持的命令情况:https://github.com/twitter/twemproxy/blob/master/notes/redis.md首先安装配置redis,此处略过。...原创 2018-09-28 15:11:07 · 906 阅读 · 0 评论 -
Dynomite入门指南
dynomite原理简介项目地址:https://github.com/Netflix/dynomite文档地址:https://github.com/Netflix/dynomite/wikiredis命令支持情况:https://github.com/Netflix/dynomite/blob/dev/notes/redis.md下载地址:https://github.com/...原创 2018-09-29 17:21:06 · 5440 阅读 · 8 评论 -
手动实现简易的RedisClient
Redis通过RESP协议进行客户端与服务端的通信,不了解的可以参考我的上篇博客–RESP协议,根据RESP协议,我们可以实现简易的redisClient,下面为我实现的一个简易客户端,包括连接redis,密码验证、get、set这几个功能。实现如下:public class MyRedisClient { private int port; private String ...原创 2018-06-10 18:55:18 · 1028 阅读 · 0 评论 -
RESP协议
redis的服务端与客户端之间的通信采用了一种名为 RESP(REdis Serialization Protocol) 的协议,主要以下特点:容易实现 解析快 人类可读RESP底层采用的是TCP的连接方式,通过tcp进行数据传输,然后根据解析规则解析相应信息,完成交互。我们可以测试下,首先运行一个serverSocket监听6379,来接收redis客户端的请求信息,实现如下...原创 2018-06-10 17:31:39 · 4678 阅读 · 0 评论 -
redis-----string
redis的string用来存储字符串。# set 设置值127.0.0.1:6379> set name wkOK# get 获取值127.0.0.1:6379> get name"wk"# append 追加值 如果不存在key新建,返回string的长度127.0.0.1:6379> append name haha(integer) 6127.0.0...原创 2018-04-08 11:22:24 · 137 阅读 · 0 评论 -
redis----set zset
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。SADD key member1 [member2] # 向集合添加一个或多个成员SCARD ...原创 2018-05-03 21:28:27 · 873 阅读 · 0 评论 -
redis-----hash
Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。# HMSET key field1 value1 [field2 value2 ] # 同时将多个 field-value (域-值)对设置到哈希表 key 中# HSET key field valu...原创 2018-05-03 21:18:09 · 174 阅读 · 0 评论 -
redis-----list
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。BLPOP key1 [key2 ] timeout # 移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。BRPOP key1 [key2 ...原创 2018-05-03 21:22:52 · 143 阅读 · 0 评论 -
手动简易实现redis分片集群
使用redis时,如果数据量比较大,很容易出现单个redis不够存储的情况,例如数据有10G,而单个redis只能存存储2G的情况,这个时候就需要对redis进行分片存储。 我们需要将10G数据分片存储到多个Redis中,如果直接操作多个客户端无疑是非常麻烦的,不便于管理和使用,我们可以通过在redis上加一层代理来实现数据的统一操作,而具体操作哪个redis则由代理来决定,具体的内...原创 2018-06-12 21:56:08 · 1315 阅读 · 0 评论 -
redis主从服务配置
redis主从服务器配置,关键点在于从服务器的配置,有以下几点需要注意:1、为从服务器指定端口2、指定主服务器的ip和端口3、指定从服务器的dump文件3、如果开启了密码验证,需要指定masterauth的值介绍两种方式: 1、修改配置文件假设我们一主两从redis服务,主服务器6379,从服务器6380,6381首先,将从服务器的配置文件复制两份, 然后修改以下几个...原创 2018-06-13 13:39:28 · 349 阅读 · 0 评论 -
手写简易redis哨兵demo
redis常用主从读写分离模式,为了保证redis服务的高可用性,这时候可以通过哨兵服务来监控redis服务的状态,哨兵通过某种方式来确定redis当前Master节点是否可用,若当前节点不可用,则通过一定的规则在从服务器中选取一个节点提升为Master。 哨兵负责监控所有的服务节点,当节点不可用时,将节点剔除,等节点恢复可用性后,再将节点添加到从节点。 假设初始时,有server...原创 2018-06-13 16:55:47 · 987 阅读 · 0 评论 -
spring中集成lettuce
lettuce是redis连接池未来的发展趋势,在spring中集成lettuce需要引入两个依赖,lettuce和spring-data-redis,引入是注意版本的关系,根据maven中央仓库的版本提示选取即可。 下面为在spring中集成lettuce的代码,这里使用的是java配置的方式来集成lettuce。import org.springframework.beans.fac...原创 2018-06-29 10:57:52 · 12098 阅读 · 6 评论 -
redis操作工具类
参考与:https://blog.youkuaiyun.com/qq_26525215/article/details/72510794对博主的代码进行了一定的修改。操作接口:import org.springframework.data.redis.connection.DataType;import org.springframework.data.redis.core.ZSetOper...转载 2018-06-29 16:22:42 · 839 阅读 · 1 评论 -
redis线上配置
基础部分redis.conf(修改部分)bing ipprotected-mode no # 不建议 应该使用密码daemonize yespidfile /home/redis/pids/redis_6379.pidlogfile "/home/redis/logs/redis_6379.log"databases 256dir /home/redis/data/slave-p...原创 2018-11-08 09:31:43 · 1157 阅读 · 0 评论