1.构建两个前缀匹配自动补全程序
补全最近访问的网站,补全登录用户名,邮件补全,本地数据库驱动的。
recent:user - list
联系人
def fetch_autocomplete_list(conn, user, prefix):
candidates = conn.lrange('recent:'+user, 0, -1)
return [c for c in candidates if c.lower().startswith(prefix) ]
#filter(lambda x:x if x.lower().startswith(prefix), candidates)
[i for i in range(k) if condition] [i if condition else exp for exp]
更大的补全列表需要用有序集合做,公司联系人名单,游戏公会名单都是全局共享的一个集合。
abc查找范围为ab`or abb到abc{
二分搜索模块,bisect_left,bisect_right 查找并插入,insort_left,insort_right,插入
2.分布式锁
WATCH在其他用户修改了情况下通知这个命令的客户端,而不会阻止其他客户端对数据进行修改叫乐观锁。