1. redis使用引用计数来回收内存,引用计数还有对象共享的作用
2. 多个键共享同一个值对象的两个步骤:
a. 将数据库键的值指针指向一个现有的值对象
b.将被共享的值对象的引用计数加1
3. redis在初始化时,创建1万个字符串对象,包含0到9999的所有整数值,需要用时就使用这些共享对象
4. 为什么不共享包含字符串的对象
当服务器将一个共享对象设置为键的值对象时,程序需要先检查对象是否相同,而值越复杂,验证越复杂,消耗cpu的时间越多
保存整数值字符串对象,复杂度为O(1)
字符串对象,复杂度O(N)
等
虽然共享对象可以解决内存,但是会有cpu时间的限制