Linux-linux中tmpfs的问题

Linux-linux中tmpfs的问题

瑾兮 发布于 2017-09-27 字数 324 浏览 1193 回复 2

我们最近做一个项目,需要做接口跟手机客户端交互,之前是把数据放在memcache里的,客户端请求的时候直接从memcache里那数据就行,可是后来存储方式发生了变化,领导让我们把数据存到文件里,文件放在tmpfs里。
不知道这样做有什么利弊
如果这样可以的还是不是就可以替代memcache了
大家对这个问题有什么看法,发表一下意见吧

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夜无邪 2017-09-30 2 楼

memcache和tmpfs共同点是都将数据存放在内存中,区别主要有以下几个:

memcache支持分布式存储,tmpfs不支持。
memcache使用的是TCP协议,而tmpfs则直接走文件系统协议,连接tmpfs的速度会比memcache要稍快一些。
memcache可以控制它里面的item的过期时间,tmpfs不能。
使用memcache需要安装它的服务端软件和客户端扩展,但tmpfs不需要。

所以你得综合考虑自己项目的情况,如果确定该项目使用的web sever永远只会有一台,那么用tmpfs是不错的选择;如果以后要扩展至多台web server,建议还是使用memcache。

归属感 2017-09-30 1 楼

tmpfs是基于内存的文件系统,这里它是一个文件,而Memcache是一个高性能的分布式的内存对象缓存系统,虽然它们都是将数据存储于内存,但是它们的性质是不一样的。

Memcache是在内存里维护一个很大的hash表,从而实现存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。而tmpfs不仅可以使用内存,还可以使用SWAP分区。这是tmpfs的优势。还有一点就是tmpfs是基于VM之上,由于VM(虚拟内存)来调控是使用内存还是使用虚拟内存来存储。

所以使用tmpfs替代Memcache是不现实的,因为它们各有各的优势,至于使用哪种机制,需要根据业务需求来考虑。