实战Memcached缓存系统(1)Memcached基础及示例程序

尊重知识,转载请注明本文来自:编程艺术家Poechant的优快云博客 http://blog.youkuaiyun.com/potent

 

1、Cache定义
(1)狭义概念:用于CPU的相对高速处理与主存(Main Memory)的相对低速处理的之间起到协调功能的硬件设备。
(2)广义概念:用于速度相差较大的两种硬件之间,起到协调两者数据传输速度差异的结构。
狭义概念来自于Cache自1967出现以来较长时间内的应用场景。因为CPU的数据处理速度,要远远高于主存,所以在CPU和主存之间会有高速缓存设备,甚至是多级缓存设备。而广义概念,则是目前已经被广泛接受的一种定义,且广义概念中,Cache不再只局限于硬件,也可以是软件。比如用于网络相对低速传输与磁盘相对高速传输之间的速度差异协调。


2、Cache的本质原理
可以一句话概括,就是:Cache把要到慢速设备中取的数据预先放到快速设备中。


3、几种类型的Cache
(1)CPU Cache:置于CPU和主存之间,用于加速CPU对主存的相对慢速操作。
(2)Browser Cache:置于客户端与服务器之间,用于加速客户端对服务器的相对慢速操作。
(3)Server Cache:置于网络请求与本地文件之间,用于加速网络请求对本地文件的相对慢速操作。
(4)CDN:CDN即Content Delivery Network,在各地设置的节点Cache,加速用户对服务网络的相对慢速操作。
(5)Database Cache
(6)OS Cache:内存中存在的对于硬盘读写的缓冲区域。

 

4、What is Memcached?

Memcached是一个免费开源、高性能、分布式的内存对象缓存系统。Memcached是在内存中,为特定数据(字符串或对象)构建key-value的小块数据存储。

 

5、下载Memcached的服务器端软件

Windows平台版本下载:http://splinedancer.com/memcached-win32/memcached-1.2.4-Win32-Preview-20080309_bin.zip

Linux平台版本下载:http://memcached.googlecode.com/files/memcached-1.4.10.tar.gz

 

6、在服务器上部署Memcached Server

以下以Windows平台为例:

参考:http://www.codeforest.net/how-to-install-memcached-on-windows-machine

下载下来的Windows版本解压到C:/memcached/

在控制台输入命令安装:

 

  1. c:/memcached/memcached.exe  -d install  


启动:

 

 

  1. c:/memcached/memcached.exe -d  start  


或:

 

 

  1. net start "memcached Server"  


默认的缓存大小为64M,如果不够用,请打开注册表,找到:

 

 

  1. HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/memcached  Server .  


将其内容修改为:

 

 

  1. “C:/memcached/memcached.exe” -d runservice -m 512  



 

7、下载Memcached的客户端API包

下载地址:http://spymemcached.googlecode.com/files/memcached-2.5.jar

 

8、编写一个Java数据类

 

  1. package com.sinosuperman.memcached;  
  2.   
  3. import java.io.Serializable;  
  4.   
  5.   
  6. public class User implements Serializable{   
  7.   
  8.     private static final long serialVersionUID = -372274003834027815L;  
  9.   
  10.     String userId;  
  11.       
  12.     public User(String userId) {   
  13.         super();   
  14.         this.userId = userId;   
  15.     }  
  16.       
  17.     public String getUserId() {   
  18.         return userId;   
  19.     }   
  20.       
  21.     public void setUserId(String userId) {   
  22.         this.userId = userId;   
  23.     }   
  24.           
  25.     @Override   
  26.     public String toString() {   
  27.         // TODO Auto-generated method stub   
  28.         StringBuffer sb=new StringBuffer();   
  29.         sb.append("userId="+this.userId);   
  30.         return sb.toString();   
  31.     }   
  32. }   



 

9、编写一个Memcached的客户端

 

  1. package com.sinosuperman.memcached;  
  2.   
  3. import java.io.IOException;  
  4. import java.net.InetSocketAddress;  
  5.   
  6. import net.spy.memcached.MemcachedClient;  
  7.   
  8. public class TestMemcached {  
  9.     public static void main(String[] args) throws IOException {  
  10.         MemcachedClient cache = new MemcachedClient(new InetSocketAddress("127.0.0.1", 11211));  
  11.         for (int i = 1; i < 10; i++) {  
  12.             cache.set("T0001" + i, 3600, new User(i + ""));   
  13.         }  
  14.         User myObject = (User) cache.get("T00011");  
  15.         System.out.println("Get object from mem :" + myObject);   
  16.     }   
  17. }  

 

10、运行测试

 

运行结果应该如下:

 

  1. 2011-12-15 17:25:30.276 INFO net.spy.memcached.MemcachedConnection:  Added {QA sa=/127.0.0.1:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue  
  2. 2011-12-15 17:25:30.292 INFO net.spy.memcached.MemcachedConnection:  Connection state changed for sun.nio.ch.SelectionKeyImpl@c62080  
  3. Get object from mem :userId=1  


尊重知识,转载请注明本文来自:编程艺术家Poechant的优快云博客 http://blog.youkuaiyun.com/poechant

《YOLO系列模型的多模态项目》配置使用教程(必看内容) 在根目录的文件夹中用于存放的是我已经配置好的一些多模态融合模型,可结合专栏中相应的文章介绍,进一步了解测试其中内容。 阅读详情

相关推荐

IPC-7351标准实战:如何用LPWizard_10快速生成PCB封装库(附避坑指南)

本文提供了一份详细的IPC-7351标准实战指南,手把手教你使用LPWizard_10软件快速生成符合行业标准的PCB封装库,并直接导入Cadence Allegro。文章深入解读了IPC-7351密度等级的选择逻辑,并重点分享了软件配置、QFN封装生成实战步骤,以及导出失败、焊盘异常等常见问题的避坑解决方案,旨在帮助硬件工程师提升设计效率和可靠性。

weixin_29207439的博客 154

membercache java,memcached java 使用场景

*/public static boolean replace(String key, Object value, Integer expire) {return cachedClient.replace(key, value, expire);}public static boolean replace(String key, Object value, Date expireDate) {re...

weixin_33581873的博客 153

Transformer代码(Pytorch实现和详解)!!!

这个是第一版,有些代码如果不对,欢迎在评论指正,后续会慢慢改,我也是刚接触transformer,若有些地方理解不对还请指正。

xml的博客 5612

Redis,Memcache的区别

现在新浪微博大规模的都是基于redis来架构的。 redis和memecache的不同在于: 1、存储方式: memecache 把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小 redis有部份存在硬盘上,这样能保证数据的持久性。 2、数据支持类型: redis在数据支持上要比memecache多的多。 3、使用底层模型不同: 新版本的redis直接自己构建了VM 机制 ,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求。 4、运行环境不同: redis目前官方只支持LINUX 上

wangbaosongmsn的博客 271

[OHIF-Viewers]医疗数字阅片-医学影像-cornerstone-core-Cornerstone.js-Cornerstone Examples-基石实例-下...

[OHIF-Viewers]医疗数字阅片-医学影像-cornerstone-core-Cornerstone.js-Cornerstone Examples-基石实例-下 CT Image with Window presets This is an example of displaying a ct image along with buttons to set ww/wc pres...

浩秦的博客 1841

在昇腾910B服务上部署搭建适配PDF解析工具Mineru2.5开源项目

本文介绍了在昇腾910B服务器上部署开源PDF解析工具Mineru2.5的过程。首先从昇腾社区下载mindie镜像并运行容器,安装系统依赖。针对部署过程中遇到的多个报错问题(如torchvision与torch版本不匹配、昇腾软件栈与NumPy 2.0不兼容等),提供了具体解决方案和兼容版本。通过设置环境变量、安装指定版本的Python依赖包,成功部署Mineru项目并下载模型。最后运行测试,验证了在NPU设备上运行pipeline的可行性。整个过程详细记录了版本适配和错误处理方法,为类似部署场景提供了参考

一起加油吧 2164

服务报Reconnecting due to failure to connect to {QA sa=/127.0.0.1:11211, #Rops=0, #Wops=0, #iq=0,

问题 解决 安装memcahed。

冉木的博客 871

sklearn2pmml xgboost缺失值(missing)处理的坑

sklearn2pmml xgboost缺失值(missing)如何处理 今天同事在部署xgboost pmml模型时遇到了大坑,线上spark预测和本地python预测结果怎么都不对应,记录一下处理过程。 看了下同事的代码,貌似也没有问题 from sklearn2pmml import PMMLPipeline from sklearn2pmml import sklearn2pmml fro...

Skycrab 8969

Memcached使用入门

下载Memcached的服务器端软件 Windows平台版本下载:http://splinedancer.com/memcached-win32/memcached-1.2.4-Win32-Preview-20080309_bin.zip Linux平台版本下载:http://memcached.googlecode.com/files/memcached-1.4.10.tar.gz

冯辉 1518

股票价格预测的秘密武器:用C#实现蒙特卡洛路径模拟,轻松掌握市场波动规律!

摘要: 蒙特卡洛模拟是股票预测的有效工具,通过随机抽样模拟价格路径,克服传统技术分析的局限性。其核心模型是几何布朗运动(GBM),描述股价随机变化过程。C#实现的关键步骤包括:1)获取输入参数;2)生成随机数路径;3)分析结果。该方法不预测具体价格,而是提供可能的价格范围,帮助投资者评估风险。代码结构清晰,分为输入、模拟、分析和可视化四个模块,通过参数封装提高可读性,适用于不确定市场的概率预测。

墨夶的博客 601

详解Agent Skills:让AI拥有更多专业能力(什么是Agent Skills?如何创建?如何使用?如何获取?)

本文分享如何将零散指令沉淀为可复用的 AI 能力模块🧩,介绍什么是Agent Skills?如何创建?如何获取?📚

XiaoqiangClub的博客 1270

java memcached缓存怎么测试_实战Memcached缓存系统(1)Memcached基础及示例程序

[通常的网页缓存方式有动态缓存和静态缓存等几种,在ASP.NET中已经可以实现对页面局部进行缓存,而使用memcached的缓存比 ASP.NET的局部缓存更加灵活,可以缓存任意的对象1、Cache定义(1)狭义概念:用于CPU的相对高速处理与主存(Main Memory)的相对低速处理的之间起到协调功能的硬件设备。(2)广义概念:用于速度相差较大的两种硬件之间,起到协调两者数据传输速度差异的结构...

weixin_29826879的博客 230

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

(转)实战Memcached缓存系统(1)Memcached基础及示例程序

1、Cache定义 (1)狭义概念:用于CPU的相对高速处理与主存(Main Memory)的相对低速处理的之间起到协调功能的硬件设备。 (2)广义概念:用于速度相差较大的两种硬件之间,起到协调两者数据传输速度差异的结构。 狭义概念来自于Cache自1967出现以来较长时间内的应用场景。因为CPU的数据处理速度,要远远高于主存,所以在CPU和主存之间会有高速缓存设 备,甚至是多级...

aibi2794的博客 82

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

WINCC7.3破解文件

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

战Memcached缓存系统(1)Memcached基础及示例程序

1、Cache定义(1)狭义概念:用于CPU的相对高速处理与主存(Main Memory)的相对低速处理的之间起到协调功能的硬件设备。(2)广义概念:用于速度相差较大的两种硬件之间,起到协调两者数据传输速度差异的结构。狭义概念来自于Cache自1967出现以来较长时间内的应用场景。因为CPU的数据处理速度,要远远高于主存,所以在CPU和主存之间会有高速缓存设备,甚至是多级缓存设备。而广义概念,...

李维 627

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Memcached缓存系统:从部署到实战应用指南

Memcached缓存系统:从部署到实战应用指南

虽非技冠群英首,愿与同道共长歌; 大鹏一日同风起,扶摇直上九万里; 1214

memcached--分布式高速缓存系统

Memcache分布式缓存系统 Memcache简介 1. 缘起 在数据驱动的web开发中,经常要重复从数据库中取出相同的数据, 这种重复极大的增加了数据库负载。缓存是解决这个问题的好办法。 但是Web中的虽然已经可以实现对页面局部进行缓存,但还是不够灵活。 此时Memcached或许是你想要的。最新版本:1.4.36 官网:http://memcach...

小亮子的博客 642
上一篇: linux 修改挂载目录
下一篇: 实战Memcached缓存系统(2)Memcached Java API基础之MemcachedClient
danwind
博客等级 码龄19年 6粉丝 118原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值