zoukankan      html  css  js  c++  java
  • Redis数据结构存储系统:第四章:底层实现原理

    Redis 以什么形式存储数据? 什么是hash槽?

    String(字符串)        List(列表)        Hash(字典)        Set(集合)        Sorted Set(有序集合)

    Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点。Redis 集群没有使用一致性hash, 而是引入了哈希槽的概念。每个key通过CRC16校验后对16384取模来决定放置哪个槽.集群的每个节点负责一部分hash槽。这种结构很容易添加或者删除节点,并且无论是添加删除或者修改某一个节点,都不会造成集群不可用的状态。当需要增加节点时,只需要把其他节点的某些哈希槽挪到新节点就可以了;当需要移除节点时,只需要把移除节点上的哈希槽挪到其他节点就行了;

    使用RedisTemplate 进行缓存

        @Autowired
        private RedisTemplate redisTemplate;

    添加到缓存,TbItemCatOneExample:给的名字,0表示通过0找到TbItemCatOneExample中以0为标识的数据

    //从库中获取的数据
    List<TbItemCatOneExample> selectAll = itemCatMapper.selectAll();

    redisTemplate.boundHashOps("TbItemCatOneExample").put(0, selectAll);

    redisTemplate.boundHashOps("TbItemCatOneExample").delete(0);

    redisTemplate.boundHashOps("TbItemCatOneExample").get(0);

  • 相关阅读:
    如何设置SQL Server 全文搜索
    怎么样充分运用ASP.NET 2.0预编译
    怎么样用CSC.exe来编译Visual C#地代码文件
    ASP.NET设计中的性能优化问题
    给Repeater、Datalist和Datagrid增加自动编号列
    ASP.net的RUL重写
    正则表达式学习日记
    SQLCLR(三)触发器
    几个用常用的jscript验证
    Asp.net性能优化总结(二)
  • 原文地址:https://www.cnblogs.com/javawxid/p/12812011.html
Copyright © 2011-2022 走看看