@ControllerBind(controllerKey = "dd")
public class TestCacheKit extends Controller {
private static Logger logger = LoggerFactory.getLogger(TestCacheKit.class);
@ActionKey("/lala")
public void testCache() {
People people = null;
//第一个缓存
people = CacheKit.get("testCache111", "1");
if (people == null) {
People p = new People();
p.setAge("11");
people = p;
CacheKit.put("testCache111", "1", people);
logger.error("进行的缓存1 Key1::" + " value::" + ObjectUUIDUtils.getObjectUUID(people));
}
String s1 = ObjectUUIDUtils.getObjectUUID(people);
logger.error("获取到的缓存1 Key1::" + " value::" + ObjectUUIDUtils.getObjectUUID(people));
//第二个缓存
People p2 = null;
p2 = CacheKit.get("testCache111", "2");
if (p2 == null) {
people.setName("ergouzi");
people.setTel("110");
p2=people;
CacheKit.put("testCache111", "2", people);
logger.error("进行的缓存2 Key2::" + " value::" + ObjectUUIDUtils.getObjectUUID(people));
}
logger.error("获取到的缓存2 Key2::" + " value::" + ObjectUUIDUtils.getObjectUUID(p2));
String s2 = ObjectUUIDUtils.getObjectUUID(p2);
renderText("缓存一对应UUID:"+s1+"\n"+"缓存二对应UUID:"+s2);
}
}请教一下波总,如以上代码,我新建一个people对象,设置该对象部分数据后,进行了一个缓存。对people继续封装,进行另一个缓存。当再次访问该方法时,获取到的缓存一和缓存二的结果是一样的,但是我设置的缓存key是不一样的啊。是不是我代码写得有问题啊?还是CacheKit哪里需要配置一下?
项目:JFinal
调试时看变量的 id ,如果 id 相同则证明是同一个对象
这里所说的变量 id 是指 JVM 在创建对象的时候为其指定的一个值,与你的变量本身无关