# 内存缓存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

# 二、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
Last Updated: 11/1/2020, 4:08:04 PM