日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java memcached 存储对象_memcached—向memcached中保存Java实体需注意的问题

發布時間:2025/3/20 java 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java memcached 存储对象_memcached—向memcached中保存Java实体需注意的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天以代碼實例的形式總結一下向memcached中保存Java實體需注意的問題:

memcached工具類代碼:

package com.ghj.packageoftool;

import java.util.Date;

import com.danga.MemCached.MemCachedClient;

import com.danga.MemCached.SockIOPool;

/**

* Memcached工具類

*

* @author GaoHuanjie

*/

public class MemcachedUtils {

private static MemCachedClient memCachedClient;

static {

/************************************配置Memcached**************************************/

SockIOPool sockIOPool = SockIOPool.getInstance();

sockIOPool.setServers(new String[]{"127.0.0.1:11211"});//設置memcachedserver地址

sockIOPool.setWeights(new Integer[]{3}); //設置每一個MemCachedserver權重

sockIOPool.setFailover(true); //當一個memcachedserver失效的時候是否去連接還有一個memcachedserver.

sockIOPool.setInitConn(10); //初始化時對每一個server建立的連接數目

sockIOPool.setMinConn(10); //每一個server建立最小的連接數

sockIOPool.setMaxConn(100); //每一個server建立最大的連接數

sockIOPool.setMaintSleep(30); //自查線程周期進行工作,其每次休眠時間

sockIOPool.setNagle(false); //Socket的參數,假設是true在寫數據時不緩沖,馬上發送出去。Tcp的規則是在發送一個包之前,包的發送方會等待遠程接收方確認已收到上一次發送過來的包;這種方法就能夠關閉套接字的緩存——包準備馬上發出。

sockIOPool.setSocketTO(3000); //Socket堵塞讀取數據的超時時間

sockIOPool.setAliveCheck(true);//設置是否檢查memcachedserver是否失效

sockIOPool.setMaxIdle(1000*30*30); // 設置最大處理時間

sockIOPool.setSocketConnectTO(0); //連接建立時對超時的控制

sockIOPool.initialize(); // 初始化連接池

if (memCachedClient == null){

memCachedClient = new MemCachedClient();

}

}

private MemcachedUtils() {

}

/**

* 向緩存加入鍵值對并為該鍵值對設定逾期時間(即多長時間后該鍵值對從Memcached內存緩存中刪除,比方: new Date(1000*10),則表示十秒之后從Memcached內存緩存中刪除)。

*

* @author GaoHuanjie

*/

public static boolean add(String key, Object value, Date expire) {

try {

return memCachedClient.add(key, value, expire);

} catch (Exception e) {

e.printStackTrace();

return false;

}

}

/**

* 依據鍵獲取Memcached內存緩存管理系統中對應的值

*

* @author GaoHuanjie

*/

public static Object get(String key) {

try {

return memCachedClient.get(key);

} catch (Exception e) {

e.printStackTrace();

return null;

}

}

}? ? ? ? ?測試main方法所在類代碼:

package com.ghj.packageofclient;

import java.util.Date;

import com.ghj.packageoftool.MemcachedUtils;

import com.ghj.packageofvo.User;

public class Client{

public static void main(String[] args) {

MemcachedUtils.add("user", new User("liunannan", "liunannan@jd"), new Date(1000*60));//向Memcached中加入一個序列化的對象

User user = (User)(MemcachedUtils.get("user"));

System.err.println("username:"+user.getUserName() + ",密碼:" + user.getPassword());

}

}? ? ? ? ?Java實體代碼:

package com.ghj.packageofvo;

/**

* 用戶業務bean

*

* @author 高煥杰

*/

public class User{

private String userName;

private String password;

public User(String userName, String password) {

super();

this.userName = userName;

this.password = password;

}

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

this.userName = userName;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

}? ? ? ? 執行main方法,你將看到例如以下異常:

稍有Java基礎的人一看便知:之所以出現這個問題全然是因為Java實體User類沒有實例化造成的,所以User類應該改成例如以下代碼:

package com.ghj.packageofvo;

import java.io.Serializable;

/**

* 用戶業務bean

*

* @author 高煥杰

*/

public class User implements Serializable{

private static final long serialVersionUID = -3371451210123762490L;

private String userName;

private String password;

public User(String userName, String password) {

super();

this.userName = userName;

this.password = password;

}

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

this.userName = userName;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

}? ? ? ? 【

總結

以上是生活随笔為你收集整理的java memcached 存储对象_memcached—向memcached中保存Java实体需注意的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。