摘要: Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。 仅用单个线程来处理多个Channels的好处是,只需要更少的线程来处理通道。事实上,可以只用一个线程处理所 阅读全文
posted @ 2019-03-07 18:01 教主陈 阅读(352) 评论(0) 推荐(0) 编辑
摘要: channel buffer selectors Java NIO的通道类似流,但又有些不同: 既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。 通道可以异步地读写。 通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。 正如上面所说,从通道读取数据到缓 阅读全文
posted @ 2019-03-07 18:01 教主陈 阅读(102) 评论(0) 推荐(0) 编辑
摘要: redis-server --port 6380 --slaveof 127.0.0.1 6379 新增哨兵配置文件sentinel.conf: sentinel monitor master-name ip redis-port quorum 例如:sentinel monitor mymaste 阅读全文
posted @ 2019-03-07 17:51 教主陈 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 常用配置 bind ip port port dir /path 日志路径 timeout 多少秒空闲,自动断开连接 database 16数据库个数 RDB持久化相关的 rdbcompression rdb开关 默认yes dbfilename dump.rdb 日志文件名 save m n m秒 阅读全文
posted @ 2019-03-07 17:47 教主陈 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 集群 1.多台机器处理同一业务 分布式 1.多台机器协作共同处理某一业务 阅读全文
posted @ 2019-03-07 17:46 教主陈 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 1.一致性哈希分区 一致性哈希的目的就是为了在节点数目发生改变时尽可能少的迁移数据,将所有的存储节点排列在收尾相接的Hash环上,每个key在计算Hash 后会顺时针找到临接的存储节点存放。而当有节点加入或退 时,仅影响该节点在Hash环上顺时针相邻的后续节点。 优点 加入和删除节点只影响哈希环中顺 阅读全文
posted @ 2019-03-07 17:46 教主陈 阅读(1135) 评论(0) 推荐(0) 编辑
摘要: 1.查询redis 数据库有多少key可以使用 keys 或者scan keys pattern 时间复杂度为O(n),会遍历所有的key, 造成redis服务阻塞, 线上不可接受 2.scan curson match pattern count num 一次遍历一个或多个桶,时间较少,不会造成阻 阅读全文
posted @ 2019-03-07 17:45 教主陈 阅读(2060) 评论(0) 推荐(0) 编辑
摘要: rdb持久化 1.redis的默认持久化方式 rdb持久化配置 1.dbfilename dump.rdb 设置rdb备份文件的名字 save 900 1 900秒发生一次写操作则备份一次 save 300 10 300秒发生一次写操作则备份一次 save 60 10000 一分钟发生1w次写操作, 阅读全文
posted @ 2019-03-07 17:44 教主陈 阅读(101) 评论(0) 推荐(0) 编辑
摘要: redis 单线程,避免了线程切换、加锁等资源消耗,redis内存处理比较快 多路io复用,多个socket链接复用, 使用同一个线程处理 使用epoll策略,实现哪些socket有通讯,处理那些socket、 高效 阅读全文
posted @ 2019-03-07 17:44 教主陈 阅读(1485) 评论(0) 推荐(0) 编辑
摘要: multi开启事务 EXEC 执行事务 redis事务的执行不是原子性的,事务可以理解为批量执行脚本,中间指定失败不会引起前面已做的指令的回滚,也不会造成后续指令不做。 redis 持久化也可能会有丢失,redis 一致性也是在没有执行异常时,才有一致性 watch 可以监控指定的key在事务执行前 阅读全文
posted @ 2019-03-07 17:43 教主陈 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 通过jimpool获得jedis对象 abstractClient.set(String key, String value) jedis将key value序列化, 使用字节流序列化成字节数组 connection.set(byte[]key, byte[] value) connection使用 阅读全文
posted @ 2019-03-07 17:43 教主陈 阅读(114) 评论(0) 推荐(0) 编辑
摘要: zadd zkey score1 member1 score2 member2 zcard zkey 统计元素个数 zcount zkey min max 序号 zincrby zkey increment member 指定元素增加分数 zlexcount zkey min max 指定字典区间统 阅读全文
posted @ 2019-03-07 17:34 教主陈 阅读(147) 评论(0) 推荐(0) 编辑
摘要: sadd key member1 member2 scard key 获取集合元素个数 sdiff key1 key2 差集 key1-key2的差集 sdiff key1 key2 不等于 sdiff key2 key1 sdiffstore newkey ke1 key2 key1 - key2 阅读全文
posted @ 2019-03-07 17:34 教主陈 阅读(105) 评论(0) 推荐(0) 编辑
摘要: lpush list a1 a2 a3 lrange list 0 3 llen list lset list index value 设置值替换 lrem list count value 移除指定个数的value lpop list 移出并返回第一个元素 blpop list time out 阅读全文
posted @ 2019-03-07 17:32 教主陈 阅读(97) 评论(0) 推荐(0) 编辑
摘要: hset key field value 写入hash hmset key field value [field value] hmget key field1 field2 ... 不存在的返回空 hget key field hgetall key hdel key field field2.. 阅读全文
posted @ 2019-03-07 17:17 教主陈 阅读(106) 评论(0) 推荐(0) 编辑