数据缓存与本地存储
来源:互联网 发布:淘宝衣服换货 编辑:程序博客网 时间:2024/04/29 04:33
开发中常常碰到需要本地保存一份远程的镜像,如数据库服务器上的表,以减少网络查询的延迟,提高程序的效率。笔者碰到这种情况时,多编写一个内容管理工具,将远程的数据备份到本地,提供插入,删除,修改,遍历等功能,非常方便。虽然没有berkeleyDB复杂,但也能满足一般需要。
该工具由缓存和文件存储两部分构成。缓存的设计方法在前文已经介绍,这里只介绍下文件内容的存储管理。假设要处理的记录是等长的,而且记录之间不分先后。可以创建如下结构的文件:
正常的记录插入和修改都没什么难度,不好做的是当记录数超过最大记录数时的处理。由于插入记录不分先后,删除某条记录可以采用这种方法:将最后一条记录覆盖到需要删除的记录上,这样,减少了记录的移动。当记录数超过最大数目时,需要找到最早插入的若干条记录并将其删除,笔者采用了这种方法:
1) 创建一个小堆,堆的大小为需删除的记录数。将所有记录的插入时间记录到堆中并排序,找到需要删除的记录。
2)对需删除的记录按在文件中的位置排序,先删除离文件尾部最近的,最后删除离文件头部最近的记录。
这样,避免了删除记录时空洞的产生和记录的整体移动,空间利用率也得到保证。
当然,功能更强大的key-value数据库更适合做本地存储,但是处理还是较复杂,本文介绍的方法简单,容易实现。可以用在仅需要简单存储功能的场合。
- 数据缓存与本地存储
- javascript数据缓存策略之本地存储 与jquery cache 缓存
- 用分布式缓存文件存储数据到本地 DistributedCache
- html5的页面缓存和本地数据存储支持
- 数据存储封装—支持内存和本地缓存
- 数据本地缓存方法
- 清楚本地缓存数据
- 缓存本地数据
- 清除本地数据缓存
- 本地存储和离线缓存
- js学习笔记——本地数据缓存与页面
- android 本地存储数据
- 本地数据存储----SharedPreferences
- HTML5 本地数据存储
- HTML5 本地存储数据
- 数据的本地存储
- ios本地数据存储
- 数据本地存储方法
- 程序设计一点想法
- 面向服务架构
- Outlook express 2010 使用技巧(配置账户 导出和导入联系人 创建规则和来信提示 创建快速步骤)
- Linux Boot Process 分析与研究
- MINI6410 按键驱动 源码分析 原理图 上
- 数据缓存与本地存储
- OllyICE使用与关键代码定位(断点)
- hdu 1272 小希的迷宫
- 关于string.h
- UIView设置圆角
- 饮料供货
- hdu 1213 how many tables
- IO端口和IO内存映射【waitting】
- pygtk的一个例子