Memcache的key怎么管理 [

itbook 发布于 2013/11/04 22:51
阅读 742
收藏 0
本人在游戏公司做后台开发,一些数据会暂存到memcache  

但是在开发的时候遇到这样一个问题:

很多后台开发在他们自己写的扩展类里面,使用memcahce,会声明自己的key.

这样,对于我在写我的扩展类的时候,要用到memcache,声明key的时候,我就有点纠结了

我不知道哪些key已经被使用了,我也总不能去把其他人的所以代码看一遍,看看有哪些key已经使用。这样太麻烦了

于是乎,我不知道该怎么办了?

总结一下问题:

1 memcache的key怎么去管理,是把所有的key都写在单独一个类里面声明,还是写在一个配置文件里,这样如果你使用了哪个key,别人就可以知道了。。还是有其他更好的方法????

比如说A类里面,有代码: memcache.set("key1",value); memcache.set("key2",value2);

然后B类里面也有一些这样的代码,  memcache.set("key3",value);memcache.set("key4",value2);

还有C类,D类等等 太多太多了

所以在我用set方法的时候我就不知道哪些key已经被别人使用了。


2 现在memcache里面有很多数据了,还不能删,我想知道用了哪些key,怎么知道??
  我在网上查了一下,有个方法很麻烦:

   telnet 连接上memcache, stats items , 然后在 stats item index 0 这样就会把所有的key列出来,但是感觉很麻烦 ,有没有其他的方法知道已经使用了哪些key ????

求指导,求突破!



以下是问题补充:

@itbook:比如说A类里面,有代码: memcache.set("key1",value); memcache.set("key2",value2); 然后B类里面也有一些这样的代码, 所以在我用set方法的时候我就不知道哪些key已经被别人使用了。 (2013/11/04 23:30)
加载中
0
RegnoiX
RegnoiX
用类名怎么样?com.xxx.xxx.Class0.key0
RegnoiX
RegnoiX
回复 @itbook : memcache.set("packagename.A.key0",value);
i
itbook
不是这样的,比如说A类里面,有代码: memcache.set("key1",value); memcache.set("key2",value2); 然后B类里面也有一些这样的代码, 所以在我用set方法的时候我就不知道哪些key已经被别人使用了。。
0
养大虾
养大虾

1.第一种麻烦,但还有更好的方法吗
2.不同模块的用到的key加特定前缀予以区别

返回顶部
顶部