ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# MemCache * 默认端口:11211 * 最大存储值:1M * 哈希一致性 通过 crc32 算法 >* 想象一下,将32位的所有数字从小到大按顺时针分布在一个圆环上; 其次,将每个存储节点赋予一个名字,并通过crc32函数将其转换为32位的数字,此数字就是该memcached服务器的存储节点 接着,将key也通过crc32函数转换为32位的数字,它的所在位置按顺时针方向走第一个遇到的存储节点所对应的memcached服务器就是该key的最终存储服务器。 >*  相对于取模方式分布式,一致性哈希方式分布式的代码复杂性要高一点,但这也在可以接受的范围内,不构成任何阻碍问题。相反它的优点就非常显著,通过虚拟节点的方式实现,可以使不可控的存储节点能够尽可能的均匀分布在圆环上,从而达到数据均匀缓存在各个主机里。其次增加与删除虚拟节点对于之前缓存的整体数据影响非常小。 * 取模计算 * * 优点:   1、简单实用易理解   2、数据分布均匀 * * 缺点:   1、宕了一台memcached服务器时不能自动调整群组去处理数据,使一部分数据不能使用缓存,一直持续从数据库中获取数据。   2、当需要扩容的时候,增加多台memcached服务器,那么原来已经缓存的数据大多数都不能够被命中,即数据无用。 >memcache默认过期时间是30天,过期时间用秒为单位或时间戳为单位,前一种情况秒数不能超过60×60×24×30(30天时间的秒数);如果失效的值大于这个值, 服务端会将其作为一个真实的Unix时间戳来处理而不是自当前时间的偏移。如果过期时间设定为0,表示永不过期,但也不是相对的,有可能因为服务端为了给其他新的元素分配空间而被LRU算法删除。