Redis-持久化
Redis是一个键值对数据库服务器,服务器中通常包含着任意个非空数据库,而每个非空数据库中又可以包含任意个键值对,为了方便起见,我们将服务器中的非空数据库以及它们的键值对统称为数据库状态。
Redis是内存数据库,它将自己的数据库状态存储在内存里面,如果服务器进程退出,那么服务器中的数据库状态也会消失不见。为了解决这个问题,Redis提供了持久化功能,这个功能可以将Redis在内存中的数据库状态保存到磁盘里面,避免数据意外丢失。
Redis是一个键值对数据库服务器,服务器中通常包含着任意个非空数据库,而每个非空数据库中又可以包含任意个键值对,为了方便起见,我们将服务器中的非空数据库以及它们的键值对统称为数据库状态。
Redis是内存数据库,它将自己的数据库状态存储在内存里面,如果服务器进程退出,那么服务器中的数据库状态也会消失不见。为了解决这个问题,Redis提供了持久化功能,这个功能可以将Redis在内存中的数据库状态保存到磁盘里面,避免数据意外丢失。
上一篇文章,总结了Redis用到的所有主要数据结构,但是Redis并没有直接使用这些数据结构来实现键值对数据库,而是基于这些数据结构创建了一个对象系统,包含字符串对象、列表对象、哈希对象、集合对象和有序集合对象。
每个对象都用到了底层的至少一种数据结构。通过这五种对象,Redis在执行之前可以根据对象类型判断对象是否可以执行给定的命令。使用对象还有一个好处就是可以针对不同场景设置不同的数据结构实现,优化对象在不同场景下的使用效率。
Redis系统还实现了基于引用计数技术的内存回收机制;还通过引用计数技术实现了对象共享机制,这一机制可以在适当的条件下,通过多个数据库键共享同一个对象来节约内存。
Redis的对象带有访问时间记录,该信息可用于计算数据库键的空转时长。