haisql_memcache的存储与分配
一.haisql_memcache存储方式
haisql_memcache存储的方式是采用全部数据内存存储的方式,查询数据不涉及硬盘IO,因此,性能很快,各操作平均花费是数十微秒。支持多数据表并发, 也支持单数据表并发,内部将数据库单数据表分为256个组,使用256把独立的锁分别负责每组数据的并发问题,减少了数据存取时的锁冲突。将工作线程数量与CPU数量一致,减少了线程切换,提供了更高的性能和更低的锁冲突,利用hash检索的方法,实现了O(1)级别的检索复杂度,因此具备极高的性能。
二.haisql_memcache动态分配
原本的数据库容易造成数据的丢失,memcached的缓存区大小为固定值,当要存储的数据很少时,会造成许多内存资源的浪费,并且当内存存满数据时,会自动覆盖原来的数据,这样便会导致许多重要数据的丢失。
而haisql_memcache则会根据要存储的数据的大小自动进行内存的分配,当要保存大量的数据信息时,haisql_mamcache便会自动扩展内存,而当要保存的数据很少时,会自动减少内存空间的分配,这样便大大减少了内存的占用率。同时haisql_memcache中,用户可以根据需要设置数据老化的时间,当设置老化时间为0时,表示数据会永久保存,永远不会老化,因此当释放内存空间时,就会根据数据老化的时间进行释放,永远都不会造成数据的丢失,大大保障了数据信息的安全性。