游戏刚开服时,很多玩家同时注册,那么好多玩家同时注册一个名字(例如张三)的话,技术上是怎么解决的?


用户名张三唯一,也即其他用户不能再注册张三这个名字.

技术上是如何实现的?

Redis上锁? 乐观锁?


 jedis.set("users".getBytes(), serialize(userBean));

其中:


 UserBean class
private Map<String, User> users = new HashMap<String, User>();

更新:已经解决,不用 Map<String, User> users 存储即可。 Map存储的话会有线程安全问题。改成单个存储就Ok了。

game Redis java

逆袭D伊藤诚 11 years, 4 months ago

对名字加unique索引

反叛的阿斯兰 answered 11 years, 4 months ago

Your Answer