本人在游戏公司做后台开发,一些数据会暂存到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,怎么知道?? |
|
这个你问下同事 应该会给你解答吧 |
|
20分 |
首先对你的头像表示抗议。 |
确实这个东西也不需要全局的去约束,不然用个缓存要多出几步交互,各个上层应用做一个约定就好了
|
|
这种比较省功夫的做法就是做约定咯,配置实现完善还是比较麻烦,半吊子的不考虑咯
|
|
所有的key都写在同一个类下就好了啊,需要新的Key就去类下增加内容,当然每个人把自己要用的key放在一个范围里面,这样就不会冲突了。
|
|
这个头像我用了整整一年多了!抗议无效! |
|
大多数我们用memcache的时候就是$memcache->set($key,$value);$memcache->get($key);
当多人开发并且key越来越多的时候,你发现管理成了问题。有时候重新设置一个key,还会担心会不会被使用过了,所以memcache也需要“计划”着用。 我使用memcache的方式就是先注册再使用。 具体的作法就是封装memcache,在每次设置key的时候都要检查是否注册过,在取值的时候也要查看是否在范围之内。 这样的作法可以很清楚的知道已经使用过的key,而且管理起来很方便,可以在后台选择性的刷新清楚memcache的key。 这个网站的缓存就是我使用这样机制来做的,管理缓存确实方便清楚了很多,有兴趣的朋友可以看下:永动物流 (http://www.wuliu006.com ) |