转自:https://www.cnblogs.com/clover-siyecao/p/5600078.html

1.安装pyredis

(1)使用 # easy_install redis

(2)直接编译安装

  #wget https://pypi.python.org/packages/source/r/redis/redis-2.9.1.tar.gz

  #tar xvzf redis-2.9.1.tar.gz

  #cd redis-2.9.1

  #python setup.py install

 

2.简单的redis操作

  redis连接实例是线程安全的,可以直接将redis连接实例设置为一个全局变量,直接使用。如果需要另一个Redis实例(or Redis数据库)时,就需要重新创建redis连接实例来获取一个新的连接。同理,python的redis没有实现select命令。

  使用 python 操作 redis
    




使用 python 操作 redis

 

3.应用场景 - 页面点击数

  《Redis Cookbook》对这个经典场景进行详细描述。假定我们对一系列页面需要记录点击次数。例如论坛的每个帖子都要记录点击次数,而点击次数比回帖的次数的多得多。如果使用关系数据库来存储点击,可能存在大量的行级锁争用。所以,点击数的增加使用redis的INCR命令最好不过了。

  当redis服务器启动时,可以从关系数据库读入点击数的初始值(1237这个页面被访问了34634次)

  使用 python 操作 redis
    




使用 python 操作 redis

  每当有一个页面点击,则使用INCR增加点击数即可。

  使用 python 操作 redis
    




使用 python 操作 redis

  页面载入的时候则可直接获取这个值

  使用 python 操作 redis
    




使用 python 操作 redis

 

 4.使用hash类型保存多样化对象

  当有大量类型文档的对象,文档的内容都不一样时,(即“表”没有固定的列),可以使用hash来表达。

  使用 python 操作 redis
    




使用 python 操作 redis

 

5.应用场景 - 社交圈子数据

  在社交网站中,每一个圈子(circle)都有自己的用户群。通过圈子可以找到有共同特征(比如某一体育活动、游戏、电影等爱好者)的人。当一个用户加入一个或几个圈子后,系统可以向这个用户推荐圈子中的人。
  我们定义这样两个圈子,并加入一些圈子成员。

  使用 python 操作 redis
    




使用 python 操作 redis

  获得某一圈子的成员

  使用 python 操作 redis
    




使用 python 操作 redis

  可以使用集合运算来得到几个圈子的共同成员

  使用 python 操作 redis
    




使用 python 操作 redis

 

6.应用场景 - 实时用户统计

  当我们需要在页面上显示当前的在线用户时,就可以使用Redis来完成了。首先获得当前时间(以Unix timestamps方式)除以60,可以基于这个值创建一个key。然后添加用户到这个集合中。当超过你设定的最大的超时时间,则将这个集合设为过期;而当需要查询当前在线用户的时候,则将最后N分钟的集合交集在一起即可。由于redis连接对象是线程安全的,所以可以直接使用一个全局变量来表示。(Counting Online Users with Redis

  使用 python 操作 redis
    




使用 python 操作 redis

相关文章: