`

memcached 初学整理

阅读更多
Memcached
Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。 Memcached是一种基于内存的Key-Value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。 Memcached简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。它的API兼容大部分流行的开发语言。 本质上,它是一个简洁的key-value存储系统。 一般的使用目的,是通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。
 
Memcached 作为高速运行的分布式缓存服务器,具有以下的特点。
1、协议简单
2、基于libevent的事件处理
3、内置内存存储方式
4、Memcached不互相通信的分布式
Memcached的分布式部署极其简单,通常较小的应用一台Memcached服务器就可以满足需求,但是大中型项目可能就需要多台Memcached服务器了,这就牵涉到一个分布式部署的问题。对于多台Memcached服务器,怎么确定一个数据应该保存到哪台服务器呢?有两种方案,一是普通Hash分布,二是一致性Hash分布。普通Hash分布对于Memcached服务器数量固定的情况推荐使用,比较简单。但是当服务器数量发生改变时,问题就出来了。因为同一个KEY经Hash算法处理后,与服务器数量取模,会导致结果与服务器数量未变化时不同,这就导致之前保存的数据丢失。采取一致性Hash分布可以有效的解决这个问题,把丢失的数据减到最小(注意这里并没有说完全不丢失)。
 
Memcached缓存使用说明
1、下载win的安装包,貌似没有64位的安装包,反正我是没找到。下载地址:http://pan.baidu.com/s/1kTC99kj
2、首先定位到安装文件的解压目录,win7按住shift选择打开此处cmd也可以。
3、输入安装命令  memcached -d install  瞬间完成安装……
然后启动它:
  手动启动:winKey+R键,输入services.msc,找到memcached启动它。
  或者命令行启动:memcached -d start
  停止服务:memcached -d stop
  telnet 127.0.0.1 11211(默认的端口) ,输入stats,出现信息则表示ok!
java如果想要与memcached联合使用的话,需要使用memcached的客户端,这是网友们的叫法。其实就是jar包。这些jar包帮我们封装好了一些方法,避免我们自己再去实现复杂的操作了。
 
目前我看到有三个客户端:
1、java_memcached-release        --->:danga的,我也不知道这是什么组织……,但这个客户端比较老牌的了。
2、alisoft-xplatform-asf-cache   --->:阿里的
3、XMemcached                    --->:oschina上看到的,貌似是纯国产啊,应用的还是挺广泛的~
  jar包下载地址:http://pan.baidu.com/s/1sjLQO8l
 
项目中整合的是 java_memcached-release 这个版本的
java_memcached-release_2.6.3.jar
commons-pool-1.5.6.jar
slf4j-api-1.6.1.jar
slf4j-simple-1.6.1.jar
 

 

Memcached 参考文档
http://www.cnblogs.com/xhb-bky-blog/p/5782444.html
 
MemcachedClient 客户端文档介绍
Xmemcached
http://blog.csdn.net/jthink_/article/details/43302615
http://www.360doc.com/content/16/0129/16/21365845_531490330.shtml
分享到:
评论

相关推荐

    LNMP+Memcached+vsftpd环境搭建

    整理了一篇 lnmp典型环境的搭建文档,对于初学linux web服务器环境的朋友,比较有帮助

    JAVA核心知识点整理.pdf

    这份"JAVA核心知识点整理.pdf"文档详尽地涵盖了Java开发中的关键概念和技术,包括JVM、Java集合框架、多线程并发、Spring框架原理、网络通信库Netty、分布式协调服务Zookeeper、负载均衡策略以及分布式缓存等。...

    JAVA核心知识点整理

    "JAVA核心知识点整理"这个压缩包文件涵盖了Java学习中的关键部分,包括基础、JVM(Java虚拟机)、线程、中间件以及算法。下面我们将逐一探讨这些核心知识点。 1. **Java基础**:Java基础是所有Java学习的起点,它...

    Yii快速入门教程(完全整理)

    "yii框架中文手册教程.pdf" 和 "Yii快速入门教程(完全整理).pdf" 这两个文档将帮助初学者更好地理解和掌握Yii框架。中文手册详尽解释了框架的每个部分,而入门教程则通过实例教学,让你快速上手。 总之,Yii是一个...

    Java及PHP设计开发资料整理

    【Java及PHP设计开发资料整理】 ...下面将对这两个领域的关键知识点进行详细介绍。 1. **Java知识点** - **基础语法**:包括变量、数据类型、控制结构(如if语句、...不论是初学者还是经验丰富的开发者,都能从中受益。

    django 开发文档整理, 中文版

    Django提供了多种缓存策略,如基于内存的缓存(如Memcached)、基于文件的缓存或数据库缓存。缓存可以显著提高网站性能,尤其是在处理高并发访问时。 9. **用户认证和授权(Authentication & Authorization)** ...

    thinkphp-bjyblog v1.1

    闲暇之时使用thinkphp开发了一个个人博客用来整理技能知识;如今博客的功能基本已经齐备;特开源以供各类猿们免费使用;亦可以作为初学thinkphp的同学们的参考源代码;此博客程序前后台页面以及逻辑代码的都由我手工...

    Redis实战中文版命令行整理

    随着技术发展,更多的系统如memcachedb、Cassandra、memcached以及Hypertable等相继出现,它们在存储、速度、并发处理等方面各有特色。 ### 为何选择Key-Value存储系统 Key-Value存储系统特别适合于大规模的互联网...

    agentzh 的 Nginx 教程(版本 2016.07.21)整理成pdf 添加书签

    - **Nginx与Memcached**、**Nginx与Redis**、**Nginx与MySQL**、**Nginx与PostgreSQL**:介绍Nginx与其他系统的集成方式。 #### 结论 通过agentzh的Nginx教程,读者能够系统地学习Nginx的各个方面,从基础概念到...

    C#基类源库大全

    在IT行业中,C#是一种...总的来说,“C#基类源库大全”是一个宝贵的资源,对于任何C#开发者来说,无论是初学者还是经验丰富的专业人士,都可以从中获益,学习到实用的代码实现和最佳实践,进一步提升自己的编程能力。

    关于同一用户不能同时登录文件下载

    博客作者整理了相关资料,供其他人参考和学习。虽然具体的解决方案并未在描述中给出,但通常解决这类问题的方法包括: 1. **会话管理**:服务器端记录每个用户的会话信息,当检测到新的登录请求时,检查当前用户...

    PHP实例开发源码-网站导航系统源码.zip

    这个系统旨在帮助用户方便快捷地查找和访问各种网站,通过整理和分类互联网上的网址,提供一个简洁的界面供用户进行浏览和搜索。 在PHP编程中,网站导航系统的开发通常涉及以下几个核心知识点: 1. **URL管理**:...

    PHP实例开发源码—MySites 网址导航系统.zip

    这个系统能够帮助用户整理和分类各种网站链接,方便用户快速访问常用或者感兴趣的网站。通过学习和研究这个源码,我们可以深入理解PHP在实际开发中的应用,提升自己的PHP编程技能。 首先,我们要了解PHP的基本概念...

    PHP实例开发源码-25vv php网址导航系统 清爽版.zip

    这个清爽版可能意味着它去除了不必要的复杂功能,保留了核心的网址收录、分类与搜索功能,适合初学者学习和快速搭建自己的网址导航平台。 在PHP编程中,URL(统一资源定位符)导航系统是常见的应用之一,它主要通过...

    韩顺平老师PHP面试题大全上卷基础篇+下卷高级篇有答案

    这套资料由知名讲师韩顺平精心整理,包含了丰富的面试题库和详尽的答案解析,是学习和复习PHP知识的重要资源。 在上卷基础篇中,主要关注PHP的基础语法和常用函数,包括但不限于以下几个方面: 1. PHP基本语法:...

    100个PHP[工具查询]源码打包

    源码打包意味着这些代码已经整理好,方便用户下载、学习或直接应用于自己的项目中。 【描述分析】 描述中的“100个PHP[工具查询]源码打包100个PHP[工具查询]源码打包”看似重复,但强调了资源的数量和类型,即100个...

    Java核心知识点记录学习

    了解JVM内存模型(如堆、栈、方法区、本地方法栈)以及垃圾收集机制(如分代收集、标记-清除、复制、标记-整理、CMS、G1等)对于优化程序性能至关重要。此外,JVM调优,包括堆大小设置、栈空间调整、类加载策略等,...

    CodeSnippet-2021

    【标题】"CodeSnippet-2021" 是一个与编程相关的资源集合,很可能包含了2021年期间整理的各种代码片段。这个压缩包可能是为了方便开发者查阅、学习或使用,特别是针对PHP语言的开发者。 【描述】"CodeSnippet-2021...

Global site tag (gtag.js) - Google Analytics