zoukankan      html  css  js  c++  java
  • e3商城_day06

    1.redis持久化方案

     2.redis集群的原理

     

      当写入一个key/value时,对该key进行特定算法得出一个对应的哈希槽,根据值找到包含该槽的redis服务器,并将该key/value存储在该服务器上(并不是将key存储在槽上,槽只是为了均匀得把Key放在不同的服务器上)

     

    3.redis集群的搭建

     

      》要搭建redis集群要把如下常量值修改为yes

     

      》在redis的源码包下的src里有一个rb文件用于搭建redis集群并建立连接通信,需要运行该rb文件

     

       》安装第三方库

       》运行rb文件

       》连接redis集群任意节点(可以连接备份机)

     4.jedis操作redis集群

      》导操作redis相关的jar包,一般放在common下,以便所有用到缓存的service调用(直接调缓存的并不是dao,而是service)

      》jedisCluster是操作redis集群的一个对象

     5.使用jedisClient连接单机版和集群版

      》为了方便我们能在不同的环境在jedispool和jediscluster间切换,封装两个实现类:jedisClientPool(用于单机版)和jedisClinetCluster(用于集群版),让这两个类实现同一个接口jedisClient,使用该接口即可不需要修改源代码,在配置文件中修改实现类的完成单机和集群的切换

      》类和接口可以在common下以便所有service使用

      》两个实现类交给spring管理即可

     

     

     6.向业务逻辑中添加缓存

       》在代码上注意的是:查询缓存或者向缓存中存储数据得保证即使抛异常也不会对原有的查询数据库代码产生影响,所以必须使用try-catch进行处理

     

     7.缓存同步

      》当mysql库中数据发生了更新,而redis缓存中还是保持着旧的数据,所以在数据库发送增删改后,对应的缓存也应该进行同步。我们可以在增删改操作后立即删除掉缓存中旧的数据,当下次获取时旧不再走缓存了,可获得数据库中最新的数据并重新缓存

  • 相关阅读:
    (一)单例模式
    mysql数据库知识
    JavaScript
    Spring整合AspectJ的AOP
    Spring-AOP
    JDK代理和CGLIB代理
    mybatis-dao开发
    mybatis-入门
    CSS2.1
    HTML基础
  • 原文地址:https://www.cnblogs.com/ibcdwx/p/13513085.html
Copyright © 2011-2022 走看看