数据存储- tmpfs+LevelDB+SSDB - 学习笔记

一. 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/37

1.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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值