@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 在创建对象的时候为其指定的一个值,与你的变量本身无关