摘要:
Redis键值设计 优雅的key结构 Redis的Key虽然可以自定义,到但是最好遵循下面的几个最佳实践约定: l 遵循基本格式:[业务名称]:[数据名]:[id] l 长度不超过44字节(长度越小,占用的内存越少) l 不包含特殊字符 优点: ① 可读性强 ② 避免key冲突 ③ 方便管理 ④ 更 阅读全文
摘要:
就是把注释全都删了 这里指的是OpenResty的Nginx配置文件 请求参数处理 先修改Nginx配置文件 修改lua文件,然后重启nginx 查询Tomcat 写lua文件做工具类 那么如何根据商品id对tomcat集群负载均衡呢? 反向代理要进行修改 接下来的问题是,进程缓存之间是不会共享的, 阅读全文
摘要:
接下来要实现Nginx的本地缓存,而Nginx是用Lua语言来开发,下面简单理解一下Lua 初识Lua Lua是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。 安装,centOS自带Lua语言了,不需要安装,其他系 阅读全文
摘要:
前置数据库的表规划:数据库的表尽量做分离,是因为一个商品的数据事实上是非常多的,需要对商品的数据进行解耦,字段太多查询的效率会比较低;另一方面,系统需要给数据加缓存,如果都在一张表里,那么作为缓存的话,就只有一整条数据作为缓存,一旦一条数据里的任意一个字段做了修改,整个商品的缓存就全都失效了,这样缓 阅读全文
摘要:
传统缓存的问题 传统的缓存策略一般是请求到达Tomcat后,先查询redis,如果未命中则查询数据库,存在下面的问题: l 请求要经过tomcat处理,tomcat的性能成为整个系统的瓶颈 l Redis缓存失效时,会对数据库产生冲击 多级缓存方案 多级缓存就是充分利用请求处理的每个环节,分别添加缓 阅读全文
摘要:
阅读全文
摘要:
故障转移 当集群中有一个master宕机会发生什么呢? 宕机7002节点,这是宕机之前的状态 这是宕机以后的状态,7002失去连接了,而7002的slave8003变成了master 启动以后7002变成slave了 Reids集群不需要sentinel,自动具有主从故障切换 以上是自动故障转移 数 阅读全文
摘要:
集群伸缩 添加一个节点到集群: Redis-cli--cluster提供了很多操作集群的命令,可以通过下面方式查看: 比如,添加节点的命令 先输入新增的ip和端口号,后输入集群已经有的ip和端口号好指定添加到哪个集群。默认是增加master节点,加上--cluster-slave是变成了slave。 阅读全文
摘要:
散列插槽 Redis会把每一个master节点映射到0~16383共16284个插槽(hash slot)上,查看集群信息时就能看到: 数据key不是与节点绑定,而是与插槽绑定。Reids会根据key的有效部分计算插槽值,分两种情况: l Key中包含“{}”,且“{}”中至少包含1个字符,“{}” 阅读全文