master最好不要做任何的持久化工作,如RD内存快照或者AOF日志文件: 如果数据比较重要,某个slave开始AOF备份数据,策略设置为每秒同步1次: 为了主从复制的速度和连接的稳定性,master和slave最好在同一个局域网内: 尽量避免在压力很大的主库上增加从库: 主从复制不要使用图状结构,用单向链表结构更为稳定,即:master <-  slave1 <- slave2  <- slave3 ... ,这样的结构更方便解决单点故障问题,实现slave对master的替换.如果m…
    Redis一般是用来支撑读高并发的,为了分担读压力,Redis支持主从复制.架构是主从架构,一主多从, 主负责写,并且将数据复制到其它的 slave 节点,从节点负责读. 所有的读请求全部走从节点.这样也可以很轻松实现水平扩容,支撑读高并发.   redis主从复制的特点: redis采用异步方式复制数据到slave节点,从redis2.8开始,slave节点会周期性地确认自己每次复制的数据量: 一个master节点可以配置多个slave节点: slave节点可以连接其他的slave节点…
Master写内存快照,save命令调度rdbSave函数,会阻塞主线程的工作,当快照比较大时对性能影响是非常大的,会间断性暂停服务,所以Master最好不要写内存快照. Master AOF持久化,如果不重写AOF文件,这个持久化方式对性能的影响是最小的,但是AOF文件会不断增大,AOF文件过大会影响Master重启的恢复速度. Master调用BGREWRITEAOF重写AOF文件,AOF在重写的时候会占大量的CPU和内存资源,导致服务load过高,出现短暂服务暂停现象. 下面是我的一个实际…
1.Master 最好不要写内存快照,如果 Master 写内存快照,save 命令调度 rdbSave 函数,会阻塞主线程的工作,当快照比较大时对性能影响是非常大的,会间断性 暂停服务 2.如果数据比较重要,某个 Slave 开启 AOF 备份数据,策略设置为每秒同步一 3.为了主从复制的速度和连接的稳定性,Master 和 Slave 最好在同一个局域网 4.尽量避免在压力很大的主库上增加从 5.主从复制不要用图状结构,用单向链表结构更为稳定,即:Master <- Slave1 <- S…
如果不是严格要求“缓存和数据库”必须保证一致性的话,最好不要做这个方案:即 读请求和写请求串行化,串到一个内存队列里面去.串行化可以保证一定不会出现不一致的情况,但会导致系统吞吐量大幅度降低. 解决这个问题的最经典的模式,就是Cache Aside Pattern. Cache Aside Pattern:     (1)读的时候先读缓存,如果缓存不存在的话就读数据库,取出数据库后更新缓存:如果存在的话直接读取缓存的信息.     (2)写的时候,先更新数据库,再删除缓存. 说到这个问题,又会出…
-x     从标准输入读取一个参数 such as: echo –en “shaw” |./redis-cli –x setname == set name shaw -r     重复执行一个命令指定的次数 -i     设置命令执行的间隔 such as: 1 2 3 4 5 [root@M2_Redis1 src]# ./redis-cli -r 100 -i 1 info | grep total_commands_processed      # 每隔1秒执行一次,共执行100次in…
日常场景:某活动抽奖,控制各等奖的出现概率 比如控制A(中奖率):20%:B(获得优惠券率):30%:C(谢谢参与率):50% 下面以封装好在main()函数里,上代码(记得导入相应的包): public class Probability { public static void main(String[] args) {/** * 先来一个简单通用的解决方案 * 需求:生成A(一等奖):20%;B(二等奖):30%;C(不中奖):50% */ double num; Map<String ,…
随笔:经过长达一周的奔波和面试,电话面试,回首今天终于成功的入职了,总共面试了大概10家公司,包括阿里,京东,IBM等等,京东技术过了,学历因为非统招就被pass了,阿里面了2次电话面试就没下文了,估计是我当时最后提问题的时候减分了吧,其他的也有一些offer,不是不想去,就是了无音讯了,眼看年关将近,也由不得我挑挑拣拣了,就直接进了我现在这家公司,主要是感觉公司人不错,薪水这方面也就没有计较太多.好了,书归正文,今天小编就大家送上我精心准备的关于Redis方面的面试题,希望可以帮到还在求职路上…
背景:最近在准备面试相关的题目,发现redis基本一片空白,有必要好好总结下. 转自:https://www.cnblogs.com/Survivalist/p/8119891.html 1.什么是redis? Redis 是一个基于内存的高性能key-value数据库. 2.Reids的特点 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存.因为是纯内存操作,Redis…
Redis的那些最常见面试问题         1.什么是redis? Redis 是一个基于内存的高性能key-value数据库. 2.Reids的特点 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存.因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性 能最快的Key-Value DB. Redis的出色之处不仅仅是性能,Redi…