memcached简单的使用教程

Memcached服务及客户端连接与数据操作详解! Memcached是一种高效的缓存解决方案,能够显著提高Web应用的性能。通过本文的介绍,相信读者对Memcached的服务启动、客户端连接以及数据操作有了更深入的了解。在实际应用中,合理利用Memcached可以有效提升系统的响应速度和用户体验。 阅读详情

这是工程应用性质的文章:memcached是数据快速存取的工具,wikipedia和facebook就用了它提高速度。具体情况可以wiki.


c/c++里面使用memcached本来是很简单的事情,但就是没有人说,非要我去读libmemcache的实例代码才行,manpage也没有说清楚(但还不得不看)。如果要使用memcached,步骤如下:


1 安装memcached

  你可以去官网 上下载,也可以sudo apt-get install memcached

2 测试你刚才的安装,

  比如运行 memcached -d -m 64 -l 127.0.0.1 -p 12300

  -d表示后台, -m 64表示使用64MB内存,-l 127.0.0.1 -p 12300 表示监听127.0.0.1:12300端口

  没有任何消息就是运行成功

3 安装libmemcached

  这个就不要apt了,因为没有精确的libmemcached包,乖乖去官网 下载吧。这个东西还需要libevent,这个没法apt,libevent安装的时候最好装到/usr/lib里面,不然libmemcached还不能运行。

4 测试libmemcached

  找一个文件比如test,然后运行memcp test --servers=127.0.0.1:12300

  这样就把test拷贝到memcached管理的内存里面了。

  memcat test --servers=127.0.0.1:12300

  看看是不是刚才的那个文件。


该装的全装了,我们可以改代码了。

(以下引自:wikipedia)


将纯粹使用数据库查询的程式码加上memcached支援是很简单的,假设这是原来的程式码:


function get_foo (int userid) {


   result = db_select("SELECT * FROM users WHERE userid = ?", userid);


   return result;


}


加上memcached的快取机制后:


function get_foo (int userid) {


    result = memcached_fetch("userrow:" + userid);


    if (!result) {


        result = db_select("SELECT * FROM users WHERE userid = ?", userid);


        memcached_add("userrow:" + userid,  result);


    }


    return result;


}


(wikipedia 引述完毕)


但我们需要初始化,而且需要c/c++的表述形式:

首先修改makefile,在LIBS里面加上-lmemcached,比如原来 gcc test.c,现在 gcc test.c -lmemcached。这个库就是libmemcached提供的。

然后添加#include<libmemcached/memcached.h>,这个文件也是libmemcached提供的。

主函数里面需要添加:

    memcached_st *memc;

    uint32_t  flags;

    memcached_return rc;

    memcached_server_st *servers;

    memc= memcached_create(NULL);


    servers= memcached_servers_parse("127.0.0.1:12300");

    memcached_server_push(memc, servers);

    memcached_server_list_free(servers);

    memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL, 0);

    

这就是初始化的全部代码,可以设置很多东西,不过我现在只要一个服务器,就看一句话:

    servers= memcached_servers_parse("127.0.0.1:12300");

这就是指明要连接到位于127.0.0.1监听12300端口的memcached程序. 其他都不管。


我最后用一段修改后的代码介绍两个函数,memcached_get和memcached_set,都可以man出来。


        char * result_str; /*这个就是查询的结果*/

        std::string query="要查询的数据名";


        result_str= memcached_get(memc, query.c_str(), strlen(query.c_str()),

                &result_str_length, &flags, &rc);


        if (rc == MEMCACHED_SUCCESS) 

        {

            printf("%s",result_str);

            free(result_str); /*一定要free掉 memcached传回的数据*/


            continue;

        }

        else if (rc == MEMCACHED_NOTFOUND)

        {

            /*读取数据*/

            ...

            rc= memcached_set(memc, query.c_str(), strlen(query.c_str()),

                    str_result.c_str(), strlen(str_result.c_str()),

                    0, 0);

        }


这东西设计得还是很好用的,libmemcached好像是面向对象c语言风格的东西,好不好用就让我们拭目以待吧。

/////////////////////////////////////////////////////////////////////////////////

完整的例子:

#include <stdio.h>

#include <stdlib.h>

#include <libmemcached/memcached.h>

#include <iostream>

#include <string>

using namespace std;

int main(int argc, char *argv[])

{

 memcached_server_st *servers = memcached_servers_parse("127.0.0.1:22222");

 memcached_st *memc = memcached_create(NULL);

 memcached_server_push(memc, servers);

 memcached_server_list_free(servers);

 memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL, 0);

 string strKey = "1";

 string strValue = "hello.world";

 memcached_return rc = memcached_set(memc, strKey.c_str(), strlen(strKey.c_str()), strValue.data(), strValue.size(), 0, 0);

 if (rc == MEMCACHED_SUCCESS)

 {

  printf("memcached_set ok! \n");

  size_t ValueLength = 0;

  uint32_t flags;

  char *pValue = memcached_get(memc, strKey.c_str(), strlen(strKey.c_str()), &ValueLength, &flags, &rc);

  if (rc == MEMCACHED_SUCCESS)

  {

   printf("memcached_get key=%s value=%s \n", strKey.c_str(), pValue);

   free(pValue);

  }

 }

 memcached_free(memc);

 return 0;

}

////////////////////////////////////////////////////////////////////////////////////////////

memcached 命令

memcached 命令




comments 类型




1. storage commands: set add replace


2. retrieval commands: get


3. other commands: incr delete




error strings


1. "ERROR\r\n"


客户端发送了一个不存在的command




2. "CLIENT_ERROR <error>\r\n"


客户端的错误:客户端发送的数据或者格式方面有问题。 <error>表示具体错误的原因。




3. "SERVER_ERROR <error>\r\n"


服务器端的错误:服务器一系列的错误阻止了命令的执行。<error>表示具体错误的原因。当发生此错误时。服务器发送完了"SERVER_ERROR <error>\r\n"之后将会关闭connection。(这是唯一的关闭connection的情况)




descriptions of individual commands




1. storage commands


首先客户端向服务器按照如下格式发送命令行:


<command name> <key> <flags> <exptime> <bytes>\r\n




a) <command name> 可以是"set", "add", "replace"。


"set"表示按照相应的<key>存储该数据。


"add"表示按照相应的<key>添加该数据,但是如果该<key>已经存在则会操作失败。


"replace"表示按照相应的<key>替换数据,但是如果该<key>不存在则操作失败




b) <key> 客户端需要保存数据的key。




c) <flags> 是一个16位的无符号的整数(以十进制的方式表示)。该标志将和需要存储的数据一起存储,并在客户端get数据时返回。客户可以将此标志用做特殊用途,此标志对服务器来说是不透明的。




d) <exptime> 过期的时间。如果该数值为0表示存储的数据永远不过时(但是,该数据有可能被其他项所替换掉。因为服务器采用了LRU(最近最久没有使用)的算法替换)。如果非0(unix时间或者距离此时的秒数),当过期后,服务器可以保证用户得不到该数据(以服务器时间为标准)。




e) <bytes> 需要存储的字节数(不包含最后的"\r\n"),当用户希望存储空数据时,<bytes>可以为0




f) 最后客户端需要加上"\r\n"作为"命令头"的结束标志。




<data block>\r\n


紧接着"命令头"结束之后就要发送数据块(即希望存储的数据内容),最后加上"\r\n"作为此次通讯的结束。




reply


当以上数据发送结束之后,服务器将返回一个应答。可能有如下的情况:




a) "STORED\r\n"


表示存储成功




b) "NOT_STORED\r\n"


表示存储失败,但是该失败不是由于错误。通常这是由于"add"或者"replace"命令本身的要求所引起的,或者该项在删除队列之中(见delete命令)。




2 retrieval command


获取数据的格式:




get <key>*\r\n




a) <key>* 表示一个或者多个key(以空格分开)




b) "\r\n" 命令头的结束




reply


服务器端将返回0个或者多个的数据项。每个数据项都是由一个文本行和一个数据块组成。当所有的数据项都接收完毕将收到"END\r\n"




每一项的数据结构:


VALUE <key> <flags> <bytes>\r\n


<data block>\r\n




a) <key> 希望得到存储数据的key




b) <falg> 发送set命令时设置的标志项




c) <bytes> 发送数据块的长度(不包含"\r\n")




d) "\r\n" 文本行的结束标志




e) <data block> 希望接收的数据项。




f) "\r\n" 接收一个数据项的结束标志。




如果有些key出现在get命令行中但是没有返回相应的数据,这意味着服务器中不存在这些项,这些项过时了,或者被删除了。




3. delete


delete 命令格式:


delete <key> <time>\r\n




a) <key> 需要被删除数据的key




b) <time> 客户端希望服务器将该数据删除的时间(unix时间或者从现在开始的秒数)




c) "\r\n" 命令头的结束




reply




a) "DELETED\r\n" 删除成功




b) "NOT_FOUND\r\n" 需要删除的key不存在




ps:"flush_all" command 可以所有项都无效。




4. increment/decrement




command "incr" "decr" 是用来改变数据项数值的命令。设置数据项的数据被认为是一个10进制的无符号的整数。如果当前设置的值不能够被转换则认为是0.如果该数据项的key不存在,则执行命令失败!




命令格式:




incr <key> <value>\r\n


or


decr <key> <value>\r\n




a) <key> 数据项的key




b) <value> 用户希望增加/减少的数据的数值.该数值是一个32位十进制的无符号整形变量。




c) "\r\n" 命令行结束标志




reply




a) "NOT_FOUND\r\n" 没有找到需要操作的项。




b) "<value>\r\n" <value>数据项有效期的最新剩余时间。




注意: 


a) 如果一个数据项的有效期被设置为0,这时使用decr命令是无法减少数据。




b) 如果要执行 incr key -1 的操作不会有什么问题,结果和你希望的一样。但是,执行decr -1时的结果一定会让你觉得很意外,因为它的结果无论key的数据是什么结果的都是0.原因是:在这两个命令的执行过程中都是吧-1当做一个无符号的整形处理的。




c) 执行decr命令时数据的长度不会随之而减小,而是在返回数据的后面填补空格。但是执行incr命令越界后会自动的增加数据的位数。






5. 其他命令




"stats": 用来查询服务器提供的内部数据。




stats <args>\r\n


查询特定的数据




reply




STAT <name> <value>\r\n


...


END\r\n




"quit"


"quit\r\n": 退出程序



///////////////////////////////////////////////////////////////////////////////////////////////////



对于 Memcached 缓存系统的基本介绍、安装以及应用 之前有一编文章说过,下面主要是对使用Memcached系统的基本命令以及协议作个简单的分析,个人学习的笔记,呵呵。还希望能给需要的筒子一点参考:


一、Memcache面向对象的常用接口包括:

Memcache::connect -- 打开一个到Memcache的连接

Memcache::pconnect -- 打开一个到Memcache的长连接

Memcache::close -- 关闭一个Memcache的连接

Memcache::set -- 保存数据到Memcache服务器上

Memcache::get -- 提取一个保存在Memcache服务器上的数据

Memcache::replace -- 替换一个已经存在Memcache服务器上的项目

Memcache::delete -- 从Memcache服务器上删除一个保存的项目

Memcache::flush -- 刷新所有Memcache服务器上保存的项目(类似于删除所有的保存的项目)

Memcache::getStats -- 获取当前Memcache服务器运行的状态


For More: http://cn.php.net/memcache


二、查看系统的运行状态:


 

pid               Process id of this server process (memcache服务器的进程ID)

uptime            Number of seconds this server has been running (服务器已经运行的秒数)

time              Current UNIX time according to the server (服务器当前的UNIX时间)

version           Version string of this server (memcache版本)

pointer_size      Current system pointer 当前操作系统的指针大小(32位系统一般是32bit)

rusage_user       Accumulated user time for this process (该进程累计的用户时间(秒:微妙))

rusage_system     Accumulated system time for this process (该进程累计的系统时间(秒:微妙))

curr_items        Current number of items stored by the server (服务器当前存储的内容数量)

total_items       Total number of items stored by this server ever since it started (服务器启动以来存储过的内容总数)

bytes             Current number of bytes used by this server to store items (服务器当前存储内容所占用的字节数)

curr_connections  Number of open connections (当前打开着的连接数量)

total_connections Total number of connections opened since the server started running (服务器运行以来接受的连接总数)

connection_structures Number of connection structures allocated by the server (服务器分配的连接结构的数量)

cmd_get             Cumulative number of retrieval requests (get命令(获取)总请求次数)

cmd_set             Cumulative number of storage requests (set命令(保存)总请求次数)

get_hits            Number of keys that have been requested and found present (请求成功的总次数)

get_misses          Number of items that have been requested and not found (请求失败的总次数)

threads             Current number of thread (当前线程数)

bytes_read          Total number of bytes read by this server from network (服务器从网络读取到的总字节数)

bytes_written       Total number of bytes sent by this server to network (服务器向网络发送的总字节数)

limit_maxbytes      Number of bytes this server is allowed to use for storage. (服务器在存储时被允许使用的字节总数)

evictions           Number of valid items removed from cache to free memory for new items (为获取空闲内存而删除的items数(分配给memcache的空间用满后需要删除旧的items来得到空间分配给新的items))


其中,最关注最多的几个参数:

uptime:是memcached运行的秒数。

cmd_get:是查询缓存的次数。

cmd_get/uptime 结果是平均每秒请求缓存的次数——结果值越大,说明Memcached的利用率越高,站点的访问量大,如果太低,用文件系统缓存就可以了,根本不会体现出使用memcached的强大性能。

cmd_set:是设置key=>value的次数。整个memcached是个大hash,用cmd_get没有找到的内容,就会调用一下cmd_set写进缓存里。

get_hits:是缓存命中的次数。所谓的命中率 = get_hits/cmd_get * 100%。

get_misses:是缓存未命中的次数。get_misses加上get_hits就等于cmd_get。

stats:显示服务器信息、统计数据等

stats reset:清空统计数据


stats slabs:显示各个slab的信息,包括chunk的大小、数目、使用情况等

stats items:显示各个slab中item的数目和存储时长(最后一次访问距离现在的秒数)

quit:退出


三、利用shell命令操作Memcached

1、数据存储(key为wan,value为123)

 

2、数据取回

 

3、替换数据(将以wan为key存储的值替换为122)

 

4、数值增加 1

 

5、数值减少 2

 

6、数据删除

 

7、查看Memcached当时状态

printf "stats\r\n" | nc 127.0.0.1 11211

8、查看Memcached实时状态


watch "printf 'stats\r\n' | nc 127.0.0.1 11211"


 


Memcached protocol 中英文档可以参考:


http://blog.s135.com/book/memcached/


四. 查看slabs的使用状况

使用memcached的创造着Brad写的名为 memcached-tool 的Perl脚本,可以方便地获得slab的使用情况(它将memcached的返回值整理成容易阅读的格式)。可以从下面的地址获得脚本:

http://code.sixapart.com/svn/memcached/trunk/server/scripts/memcached-tool 

[root@localhost html]# vim memcached-tool

[root@localhost html]# chmod +x memcached-tool

[root@localhost html]# ./memcached-tool 127.0.0.1:11211

  #  Item_Size   Max_age  1MB_pages Count   Full?

  1      80 B        0 s               1           0      no

  2     104 B       12175 s         1           1      no

  3     176 B    1339587 s       33       196567  yes


各列的含义:

#: slab class编号

Item_Size: Chunk大小

Max_age: LRU内最旧的记录的生存时间

1MB_pages: 分配给Slab的页数

Count: Slab内的记录数

Full?: Slab内是否含有空闲chunk


五. 也可以图形化监控 Memcached 的运行状态

http://livebookmark.net/journal/2008/05/21/memcachephp-stats-like-apcphp/ 

是一个PHP源文件,只需要修改源码中的用户名、密码以及数组$MEMCACHE_SERVERS 就可以了。


Ketama一致性哈希算法的实现 一、修改test程序 在test程序中加入memcached_behavior_set_distribution(memc, MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA_SPY),设置分布式算法。 二、memcached_behavior_set_distribution memcached_behavior_set_distribution 阅读详情

相关推荐

memcached C++客户端的最简单实现

老大想用memcached,但是不喜欢网上的那些库。于是我写了这份测试代码。这里面对socket各种不正常状态基本没有做处理,不适合直接使用。但是它绝对足够简单方便,很适合打算用memcached但又不喜欢用那些庞大复杂的开源库的同学。 用vc2010做的,其它版本可以不用我的vsproj,直接用里面三个代码文件就可以。

Memcached 工作原理介绍

面临的问题  对于高并发高访问的Web应用程序来说,数据库存取瓶颈一直是个令人头疼的问题。特别当你的程序架构还是建立在单数据库模式,而一个数据池连接数峰值已经达到500的时候,那你的程序运行离崩溃的边缘也不远了。很多小网站的开发人员一开始都将注意力放在了产品需求设计上,缺忽视了程序整体性能,可扩展性等方面的考虑,结果眼看着访问量一天天网上爬,可突然发现有一天网站因为访问量过大而崩溃了,到时候哭都

tiedao123456789的专栏 1万+

内存设计指南:01 Xilinx DDR4 design guide解析

最近有很多网友咨询FPGA DDR4为什么速率总是上不去的问题,发现他们的设计确实很随意,都没有遵守一些手册的基本要求,所以今天和大家一起重新读一读DDR4 design guide,看看哪些要求是一定不能忽略的。首次设计一款新的芯片或者内存方案时,可能会无从下手。对于内存设计,官方指导首推JEDEC规范,每一代内存推出时,在JEDEC官网均能找到对应的规范文档、各种内存形式的说明文档如DDR4-JESD79、DDR4 SDRAM UDIMM Design Specification以及内存条DEMO等。

halee_00的博客 3302

Memcached 基础知识

1. 基本信息  memcached是高性能的分布式内存缓存服务器,

zhoushuaiyin的专栏 2909

RV1126B SDK移植实战:从DDR配置到USB烧写全解析

本文详细解析了RV1126B SDK移植的核心实战流程,重点攻克了DDR初始化失败与USB烧写两大难题。文章从理解启动流程入手,提供了DDR配置错误的排查步骤、SDK编译配置要点,并深入讲解了USB烧写的完整操作与常见问题解决方案,旨在帮助开发者高效完成系统移植与稳定运行。

weixin_29164497的博客 542

RAID 0/1/5/10 性能实测:4块 SATA SSD 组阵列,顺序读写速度对比

本文通过实测对比了RAID 0/1/5/10在4块SATA SSD上的顺序读写性能,详细展示了不同RAID级别的配置方法、理论性能与实际测试数据。测试结果显示,RAID 0在顺序读写速度上表现最佳,而RAID 10则在性能与数据安全之间取得了平衡,适合数据库服务器等关键应用场景。

weixin_33462167的博客 426

memcached简单的使用教程(转载)

memcached简单的使用教程    转自——http://andylin02.iteye.com/blog/647560 博客分类:  Memcached memcached应用服务器C#C++C  memcached简单的使用教程 这是工程应用性质的文章:memcached是数据快速存取的工具,wikipedia和faceboo

huangqiwa的专栏 6146

AI辅助决策支持系统架构设计避坑:5个常见技术选型误区及正确方案

AI辅助决策支持系统(AI-DSS)是指通过人工智能技术(机器学习、自然语言处理、知识图谱等)赋能传统决策支持系统,帮助决策者在复杂业务场景中(如供应链优化、风险控制、医疗诊断、金融投资等)提升决策效率和准确性的系统。与传统BI工具不同,AI-DSS不仅能"展示数据",还能基于数据生成"决策建议"甚至"自动执行决策"。技术选型是AI-DSS架构设计的核心环节,涉及数据处理引擎、模型框架、算力资源、集成接口等关键组件的选择。效果不达标:模型预测精度低、决策建议不可用;成本失控:算力资源浪费、维护成本高企。

AIGC应用创新大全的博客 1384

Memcached的安装教程,和SpringBoot简单整合Memcached

我们首先可以在官网上下载Memcached的安装包 https://www.memcached.org/downloads 你可以在官网进行下载 注意:在我们安装Memcached的时候首先要以管理员的身份去运行cmd命令

code-king的博客 383

Java 新纪元 — JDK 25 + Spring Boot 4 全栈实战(十九):微服务实战——Boot 4 + Spring Cloud 2026.x,构建高并发电商分布式系统

Component@Slf4j@Autowired// 白名单路径@Override// 白名单放行// 提取Token// 传递用户信息到下游服务.mutate().build();@Override// 最高优先级if (bearer!@Component技术点Boot 3 时代Boot 4 时代提升线程模型平台线程池(200线程上限)虚拟线程(百万级并发)50x+服务通信。

qq_17204557的博客 186

Python爬虫终极指南:异步爬虫+Playwright逆向,高效爬取携程旅游数据

Playwright解决动态渲染和加密参数难题,模拟真实浏览器环境;aiohttp异步提升抓取效率,结合代理池和并发控制规避风控;指纹伪装、行为模拟等技巧大幅降低被检测概率。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2951

Memcached 使用简单教程

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached作为缓存技术的解决方案,已经是众所周知了;现在很多WEB应用都在使用它——包括一些知名的网站。若你还不知道这些,请在阅读之前先了解一下。 在ASP.NET中使用Memcached,有很多文章都有介绍,...

hyshucom 110

AUTOSAR知识点 之 XCP (三):XCP功能描述

记录一下XCP使用时候的功能包含命令时序、错误码表、事件描述以及对规范的记录。XCP的图示如下从上图就可以看出数据流的流向CAN-CANIF-XCP,发送反之。XCP的状态机如下。

梦想技术家 3080

memcached 的简单命令和Java 使用 memcached 的简单例子

简单的基本命令 Set:set 命令用于向缓存添加新的键值对。如果键已经存在,则之前的值将被替换。 Add:仅当缓存中不存在键时,add 命令才会向缓存中添加一个键值对。如果缓存中已经存在键,则之前的值将仍然保持相同,并且您将获得响应 NOT_STORED。 Replace:仅当键已经存在时,replace 命令才会替换缓存中的键。如果缓存中不存在键,那么您将从 memcached...

weixin_30546933的博客 71

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

memcached 安装部署

memcached乃高效率的第三方存储服务器,下面是安装过程傻瓜式安装memcached过程。1,memcached依赖于libevevt第三方库,所以我们现在要安装好libevent下面我们一起来安装libevent,A,下载libeven的源码,b,解压livevent并进入目录,执行./configure-h,查看各个选项的作用,c.根据自己需要选择使用哪个选项,我们通...

weixin_34067980的博客 110

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

自己总结了下memcached安装部署的过程,包括出错的时候的对策

http://chncho.iteye.com/blog/1979446 这几天比较闲,冒出来一个想法——要写一些东西。之前都是看别人的文章,现在试试自己写,头一次写,先弄个现成的——之前自己参考前辈文章然后自己写的傻瓜式的部署文档,发出来,给新手参考用,欢迎大家批评指正。 部署步骤: 1、按ssh协议登录服务器,然后进入到/usr/tools路径,将libevent-2.0

chncho的专栏 529

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Memcached学习---(1) 教程

Memcached 教程 Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。 Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一款软件。现在已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中提高Web应用扩展性的重要因素。 Memcached是一种基于内存...

zhangbijun1230的专栏 334

memcached 安装,Windows 7环境

安装环境 系统环境:Windows 7 64位 memcached 下载文件,http://download.youkuaiyun.com/detail/bbirdsky/7395123memcached-win64-1.4.4-14.zip(文件来源不清,请小心有毒) 解压后用管理员权限打开CMD命令窗口 跳转到memcached文件夹,查看帮助文档,命令:memcached -h 安装命令...

weixin_30906701的博客 66
上一篇: Memcache协议中文版
下一篇: Linux操作系统的Configure参数解释说明
AstrayLinux
博客等级 码龄15年 55粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值