# 内存缓存memcache
# 一、memcache介绍和安装
# 简介
memcache是一个高性能的分布式的内存对象缓存系统,用于动态Web应用以减轻数据库负担。它通过在内存中缓存数据和对象,来减少读取数据库的次数。从而提高动态、数据库驱动网站速度。
memcache通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。memcache主要用于分担数据库负的压力,memcache将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。
# memcache与redis的区别和联系
redis:支持比较多的数据类型(String/list/set/sortset/hash),redis支持集合计算的(set类型支持),每个key最大数据存储量为1G,redis是新兴的内存缓存技术,对各方面支持不完善,支持持久化操作。
memcache:老牌的内存缓存技术,对相关领域支持比较丰富,window和linux都可以使用,各种框架(tp/yii等等)都支持使用,session的信息可以非常方便的保存到该memcache中,每个key保存的数据量最大为1M,支持的数据类型比较单一,就是String类型,不支持持久化。
两者的相同之处在于把数据保存在内存中。
# 安装
memcache安装:memcache安装
memcached 可以作为一个服务安装,使用管理员权限运行以下命令:
// 安装服务
F:\memcached\memcached.exe -d install
// 启动服务
F:\memcached\memcached.exe -d start
// 暂停服务
F:\memcached\memcached.exe -d stop
1
2
3
4
5
6
2
3
4
5
6
# 二、node操作memcache
const Memcached = require('memcached');
const memcached = new Memcached('127.0.0.1:11211');
/**
* set 设置key-value
*/
var json = {
name: 'abc',
age: 12,
sa: 16
}
memcached.set('test', JSON.stringify(json), 0, function (err) {
console.log('ok');
});
/**
* get 获取值
*/
memcached.get('test', (err, row) => {
if (err) {
console.log('error');
} else {
console.log(row);
memcached.end();
}
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26