数据存储- tmpfs+LevelDB+SSDB - 学习笔记
2017-08-07 11:09
274 查看
一. tmpfs相关
1. tmpfs的特性:
1.基于内存的文件系统,RAW+SWAP,虚拟内存 2.tmpfs使用虚拟内存,/dev/shm/使用共享内存 3.访问速度快,可以动态调整大小 4.没有持久性,重启后删除 5.占用的空间不会在内存清理的时候删除(这点注意)
2. tmpfs的应用场景:
1.squid或nginx缓存 2.PHP Session 3.存放socket 4.自定义缓存
3.挂载tmpfs到目录并限制大小:
mount -t tmpfs -o size=50m tmpfs /mnt/tmp/
4.动态调整挂载目录的大小:
mount -o remount,size=60m /mnt/tmp
二. LevelDB相关
参考资料:https://www.unixhot.com/article/371.LevelDB的特性:
首先,LevelDb是一个持久化存储的KV系统,和Redis这种内存型的KV系统不同,LevelDb不会像Redis一样狂吃内存,而是将大部分数据存储到磁盘上。其次,LevleDb在存储数据时,是根据记录的key值有序存储的,就是说相邻的key值在存储文件中是依次顺序存储的,而应用可以自定义key大小比较函数,LevleDb会按照用户定义的比较函数依序存储这些记录。
再次,像大多数KV系统一样,LevelDb的操作接口很简单,基本操作包括写记录,读记录以及删除记录。也支持针对多条操作的原子批量操作。
另外,LevelDb支持数据快照(snapshot)功能,使得读取操作不受写操作影响,可以在读操作过程中始终看到一致的数据。
除此外,LevelDb还支持数据压缩等操作,这对于减小存储空间以及增快IO效率都有直接的帮助。LevelDb性能非常突出,官方网站报道其随机写性能达到40万条记录每秒,而随机读性能达到6万条记录每秒。总体来说,LevelDb的写操作要大大快于读操作,而顺序读写操作则大大快于随机读写操作。
2.levelDB是本地库,不支持网络访问
三. SSDB相关
官方网站:http://ssdb.io/zh_cn/1. SSDB的特性:
1.SSDB的是levelDB的网络实现,存储大数据比redis更加稳定
2. SSDB的安装:
# wget --no-check-certificate https://github.com/ideawu/ssdb/archive/master.zip # unzip master # unzip master # cd ssdb-master 1.先安装时钟依赖包: cd deps/snappy-1.1.0 autoreconf --force --install ./configure make 2.开始安装ssdb # cd ../../ # make # make install PREFIX=/usr/local/ssdb
3. SSDB的配置:
PS:SSDB 的配置文件使用一个 TAB 来表示一级缩进, 不要使用空格来缩进,vim /usr/local/ssdb/ssdb.conf
work_dir = ./var #数据存放位置 server: ip: 172.16.1.211 leveldb: cache_size: 4256 #内存缓存大小,生产建议4256(M)
4.启动和停止ssdb:
# ./ssdb-server -d ssdb.conf # ./ssdb-server ssdb.conf -s stop # ./tools/ssdb-cli -h 172.16.1.211 -p 8888
5.SSDB的主主配置:
使用官方文档:http://ssdb.io/docs/zh_cn/replication.html相关文章推荐
- 【Cocos2d-X开发学习笔记】第30期:游戏中数据的存储(下)
- 【学习笔记】day2数据存储和界面展现第一天 01_相对布局
- Androidx学习笔记(15)-- 数据存储之openFileOutput()
- php 学习笔记 数据的存储与检索(二)
- 【学习笔记】day2数据存储和界面展现第一天 08_使用api获取内部存储空间路径09_files文件夹与cache文件夹
- android 数据存储SharedPreferences 学习笔记
- Windows Phone 7 学习笔记:数据存储与获取的方式介绍
- Windows 8学习笔记(四)--Storage数据存储
- 【Cocos2d-X开发学习笔记】第29期:游戏中数据的存储(上)
- Android网络与数据存储_学习笔记_第五周
- Androidx学习笔记(16)-- 数据存储之 SharedPreference
- 学习笔记---C语言中的数据存储原理
- Oracle XML学习笔记1 - 存储XML数据
- android 学习笔记 数据存储到文件中
- Android 学习笔记14:数据存储
- 【Cocos2d-X开发学习笔记】第30期:游戏中数据的存储(下)
- IOS学习笔记 -- Segue、数据存储、UITabBarController
- ledisDB底层实现——本质上就是用leveldb这样的底层存储,和ssdb一样,meta里存的是hash、list等的元数据
- Androidx学习笔记(17)-- 数据存储之XML
- 【OpenCV学习笔记】之三:Mat初始创建方法----要求数据连续存储