Memcached之java客户端开发
前言:之前项目中,有需求在不同语言开发的服务器之间做数据共享,从而引入了Memcached技术,在实际使用中,Memcached除了作为数据共享的用途外,还用作数据库前段存储。但是,查阅相关资料发现,用java操作Memcached服务器的资料并不是太多,偶尔查到的资料也不能运行,踩了很多坑,因此总结项目中的使用经验,输出基本demo。
本篇文章重点关注以下问题:
- Memcached简介,及对安装的简要说明;
- Memcached几种客户端介绍;
- Memcached的Demo输出;
1. Memcached简介,及对安装的简要说明;
1.1 Memcached简介
Memcached是一款开源、高性能、分布式内存对象缓存系统,可应用各种需要缓存的场景,其主要目的是通过降低对Database的访问来加速web应用程序。它是一个基于内存的“键值对”存储,用于存储数据库调用、API调用或页面引用结果的直接数据,如字符串、对象等。
首先来看一个Memcached的基本使用场景:
许多Web应用都将数据保存到RDBMS(关系型数据库管理系统)中,应用服务器从中读取数据并在浏览器中显示。 但随着数据量的增大、访问的集中,就会出现RDBMS的负担加重、数据库响应恶化、 网站显示延迟等重大影响。这时就该Memcached大显身手了。Memcached是高性能的分布式内存缓存服务器。 一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、 提高可扩展性。
总结Memcached的使用特点:
- 简单key/value存储:服务器不关心数据本身的意义及结构,只要是可序列化数据即可。存储项由“键、过期时间、可选的标志及数据”四个部分组成。
- 功能的实现一半依赖于客户端,一半基于服务器端:客户负责发送存储项至服务器端、从服务端获取数据以及无法连接至服务器时采用相应的动作;服务端负责接收、存储数据,并负责数据项的超时过期。
- 各服务器间彼此无视,不在服务器间进行数据同步。所有分布式功能由客户端实现。
- O(1)的执行效率。
- 清理超期数据,默认情况下,Memcached是一个LRU缓存,同时,它按事先预订的时长清理超期数据。但事实上,Memcached不会删除任何已缓存数据,只是在其过期之后不再为客户所见;而且,Memcached也不会真正按期限清理缓存,而仅是当get命令到达时检查其时长。
1.2 Memcached安装过程
相关推荐
86251043 2020-06-13
ol0 2020-02-18
dapeng00 2014-06-13
83530391 2019-12-26
LinuxJob 2020-06-26
CSDN0BLOG 2020-06-09
郗瑞强 2020-08-16
85590296 2020-07-22
jkzyx 2020-06-29
luotuo 2020-06-26
ol0 2020-06-26
清溪算法君老号 2020-06-25
ol0 2020-05-26
andyhuabing 2020-05-22
程序员俱乐部 2020-05-06
83530391 2020-05-05
ol0 2020-05-02
83530391 2020-04-09
85590296 2020-03-25