zoukankan      html  css  js  c++  java
  • java开发:分享一下MemCached的使用

    在项目开发中,有些不经常修改的数据,我们通常都会选择使用缓存。其中一种方式,就是memcached.

    windows系统中,我们需要下载并安装memcached。

    地址如:D:memcachedmemcached.exe

    然后,用管理员身份运行cmd.exe,输入启动命令:

    这样,我们在项目中就可以创建缓存实例了:

    public class MemcachedManager {
    
        // 创建MemCachedClient全局对象
        private static MemCachedClient mcc = new MemCachedClient();
    
        static {
            // 创建服务器列表及其权重
            String[] servers = { "127.0.0.1:11211" };
            Integer[] weights = { 3 };
    
            // 创建Socket连接池对象
            SockIOPool pool = SockIOPool.getInstance();
    
            // 设置服务器信息
            pool.setServers(servers);
            pool.setWeights(weights);
            pool.setFailover(true);
    
            // 设置初始连接数、最小和最大连接数以及最大处理时间
            pool.setInitConn(5);
            pool.setMinConn(5);
            pool.setMaxConn(250);
            pool.setMaxIdle(1000 * 60 * 60 * 6);
    
            // 设置主线程睡眠时间
            pool.setMaintSleep(30);
    
            // 设置TCP参数、连接超时等
            pool.setNagle(false);
            pool.setSocketTO(3000);
            pool.setSocketConnectTO(0);
            pool.setAliveCheck(true);
    
            // 初始化连接池
            pool.initialize();
    
        }
    
        /**
         * 无参构造
         */
        protected MemcachedManager() {
    
        }
    
        // 受保护的对象
        protected static MemcachedManager instance = new MemcachedManager();
    
        /**
         * 为受保护的对象提供一个公共的访问方法
         */
        public static MemcachedManager getInstance() {
            return instance;
        }
    
        /**
         * 添加对象到缓存中,构成方法重载
         * 
         * @param key
         * @param value
         * @return
         */
        public boolean add(String key, Object value) {
            return mcc.add(key, value);
        }
    
        public boolean add(String key, Object value, Date expiry) {
            return mcc.add(key, value, expiry);
        }
    
        public boolean replace(String key, Object value) {
            return mcc.replace(key, value);
        }
    
        public boolean replace(String key, Object value, Date expiry) {
            return mcc.replace(key, value, expiry);
        }
    
        /**
         * 根据指定的关键字获取对象
         */
        public Object get(String key) {
            return mcc.get(key);
        }
        
        public static void main(String[] args) {
            // 得到MemcachedManager实例
             MemcachedManager cache = MemcachedManager.getInstance();
             //创建test缓存
             cache.add("test", "hello");
             //取出test缓存
             System.out.println(cache.get("test"));
             //修改test缓存
             cache.replace("test", "hello123");
             //取出test缓存
             System.out.println(cache.get("test"));
        }
       
    }

    运行这个例子后,打印出的结果如下:

    hello
    hello123

  • 相关阅读:
    分治
    #include<algorithm>
    c++标准模板库的使用
    mysql_day03
    mysql_day02
    mysql_day01
    mongodb的安装
    迭代器和生成器简单介绍
    File文件操作
    数据类型
  • 原文地址:https://www.cnblogs.com/qq-602904354/p/4165361.html
Copyright © 2011-2022 走看看