2016.5.8 工作日志 -- 缓存 Memcached

1.什么是Memcached

Memcached是一个开源、高性能、分布式的内存对象缓存系统。

Memcached是在内存中,为特定的数据(String 或 Object)

构建键值对(Key to Value)的小块数据存储

2.服务器端Memcached

因为没用过,所以在这里只是简要说明:

服务器端软件   +    服务器上上部署 Memcached Server

服务器中输入命令:

 1 //安装命令
 2 c:/memcached/memcached.exe -d install
 3 //启动命令
 4 c:/memcached/memcached.exe -d start
 5 //或
 6  net start "memcached Server"
 7 //默认缓存大小为 64M,如不够用 找到如下注册表
 8 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/memcached  Server .
 9 //修改为
10 "c:/memcached/memcached.exe" -d runservice -m 51

3.如何使用?

显然,数据是需要序列化的

以下是一个他人写的例子,仅仅只是序列化内容。

 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     }     

然后从客户端操作

import java.io.IOException;
import java.net.InetSocketAddress;    

import net.spy.memcached.MemcachedClient;    

public class TestMemcached {
    public static void main(String[] args) throws IOException {
        //Memcached 客户端对象   值得注意的是 这里用的是SPYmemcached 客户端
        MemcachedClient cache = new MemcachedClient(new InetSocketAddress("127.0.0.1", 11211));
        //储存 cache.set(String key, int expire , Object);
        for (int i = 1; i < 10; i++) {
            cache.set("T0001" + i, 3600, new User(i + ""));
        }
       //对应key 提取
        User myObject = (User) cache.get("T00011");
        System.out.println("Get object from mem :" + myObject);
    }
}    

结果如下:

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 [email protected]
3     Get object from mem :userId=1 
时间: 2024-10-10 07:09:53

2016.5.8 工作日志 -- 缓存 Memcached的相关文章

翻译日志缓存(The log cache)

日志缓存(The log cache) 节译自:Microsoft SQL Server 2012 Internals P177(译注:本节是2012版本新增) 就像数据页在写入磁盘之前会先写入数据缓存(data cache)一样,SQL Server会在物理写入磁盘之前先缓存日志记录.64位系统中,日志缓存最多包含128个项:32位系统中,则最多包含32个项.每个项含有一个缓冲器(buffer)用来存储日志记录——在它们作为一整个块(block)写入磁盘之前.虽然块的大小从512字节至60KB

12.16~12.23工作日志

12.16~12.23工作日志 2016.12.16 1.cick事件调用的函数中加入touchmove等事件会发生事件穿透,详情(http://www.tuicool.com/articles/6NfaUnM) 移动设备的click事件有300ms延迟,用于判断是否双击 2.ios设备会有一个默认的css样式,如input按钮在电脑上默认为方形,而在iPhone上默认为圆形,清除ipone默认样式方法: Input{-webkit-appearance:none;} 3.border-radi

缓存Memcached以及缓存策略

1.什么是memcached 缓存是一种常驻与内存的内存数据库,内存的读取速度远远快于程序在磁盘读取数据的速度.我们在设计程序的时候常常会考虑使用缓存,将经常访问的数据放到内存上面这样可以提高访问数据的速度,同时可以降低磁盘或数据库的压力. memcached就是一款可以方便实现缓存的工具软件,memcached的优势在于以下几点: 1.实现分布式缓存(支持热部署),通过hashcode根据缓存服务器ip智能分配将数据缓存到的服务器上. 2.实现最近最少访问的数据优先被移除缓存. 3.快速找到适

高性能内存对象缓存Memcached

高性能内存对象缓存Memcached Memcached简介 Memcached时一台开源的高性能分布式内存对象缓存系统,他将所有的数据都存储在内存中,因为在内存中会同意维护一张巨大而Hash表,所以支持任意存储类型的数据 1.学会安装Memcacahed服务 1.1安装Libevent Libevent是一款跨平台的事件处理接口的封装,可以兼容多个操作系统的事件访问.Memcached的安装依赖于Libevent,因此需要先完成Libevent的安装. 挂载源代码包 [[email prote

分布式缓存- memcached

分布式缓存出于如下考虑,首先是缓存本身的水平线性扩展问题,其次是缓存大并发下的本身的性能问题,再次避免缓存的单点故障问题(多副本和副本一致性).分布式缓存的核心技术包括首先是内存本身的管理问题,包括了内存的分配,管理和回收机制.其次是分布式管理和分布式算法,其次是缓存键值管理和路由. 原文:http://wenku.baidu.com/view/8686d46c7e21af45b307a8c3.html 什么是Memcached 许多Web 应用程序都将数据保存到RDBMS中,应用服务器从中读取

Java 日志缓存机制的实现--转载

概述 日志技术为产品的质量和服务提供了重要的支撑.JDK 在 1.4 版本以后加入了日志机制,为 Java 开发人员提供了便利.但这种日志机制是基于静态日志级别的,也就是在程序运行前就需设定下来要打印的日志级别,这样就会带来一些不便. 在 JDK 提供的日志功能中,日志级别被细化为 9 级,用以区分不同日志的用途,用来记录一个错误,或者记录正常运行的信息,又或是记录详细的调试信息.由于日志级别是静态的,如果日志级别设定过高,低级别的日志难以打印出来,从而导致在错误发生时候,难以去追踪错误的发生原

工作日志2014-07-04

6:00起床 7:10坐上校车13.6元 8:15到公司 12:00煎饼果子5元 工作时间: 设置界面 工作日志2014-07-04,布布扣,bubuko.com

工作日志2014-07-10

5:00起床 6:00吃早饭4元 7:30到公司1元 12:00吃饭8元 工作时间: 1.动态评论功能和评论显示画面: 2.多媒体作业: 3.活动: 工作日志2014-07-10,布布扣,bubuko.com

工作日志2014-07-02

星期三 6:30起床 7:30坐上车 8:00开始往大连走 8:50到七贤岭30元 12:00吃饭8元 18:00等车 19:30到校25元 20:00吃晚饭8.5元 工作时间: 百度云推送(结合官网的Demo和文档,有一点了解) 问潘美德有关文档的问题,但是没有很好解决 今天支出71.5元 工作日志2014-07-02,布布扣,bubuko.com