使用 python 操作 redis

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命令。

  

 

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

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

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

  

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

  

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

  

 

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

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

  

 

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

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

  

  获得某一圈子的成员

  

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

  

 

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

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

  

 

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/261121.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android-XML解析Dom,Sax,Pull

android平台上解析xml的常见的工具有三种:dom,sax,pull。 第一种是DOM, 它的特点是一次全部加载,如果对于数据量小的情况下,它的效率还可以,如果XML文件很大的情况下,速度就会慢起来。 第二种方…

射击的乐趣:WIN32诠释打飞机游戏

一楼留给链接http://blog.csdn.net/crocodile__/article/details/11860129 楼上神贴,膜拜片刻...... 一、游戏玩法和已经实现的功能 1.打开游戏会有提示是否开始游戏。 2.键盘↑↓←→控制保卫者飞机(米格21原型,米格粉们千万不要看这架飞机&…

硬盘安装Linux救援系统,硬盘安装linux系统

这里推荐大家使用Daemon Tool 这个Windows下的软件将ISO文件“解”到硬盘上。比方说shrike-i386-disc1.iso可以解压缩到C:盘的cd1目录,shrike-i386-disc2.iso解压缩到C:盘的cd2目录,shrike-i386-disc3.iso可以解压缩到C:盘的cd3目录待用。把cd1&#xff…

内容营销11金规

内容营销11金规 现在也许是解释和讲述一个很重要观点的好时机:创造给力的内容十分关键,但还不够。你还必须提出满足大量其他目标的材料,而这些材料,符合给力的内容的惯例,或者(你知道我们马上谈论这一点&am…

eclipse3.4 SVN插件安装

2019独角兽企业重金招聘Python工程师标准>>> SVN插件: http://subclipse.tigris.org/update_1.6.x 汉化版,现在我这边eclipse3.4是可用的。 转载于:https://my.oschina.net/dreamnight/blog/695060

工作那些事(十六)面试时,面试官喜欢的非技术问题汇总

在找工作的过程中,进行技术和人事面试时不可避免的。有的人笔试答的挺好,挂在了面试的时候,确实很可惜的。一般来说,技术性的岗位是笔试(有的还有性格测试题)、技术面试、人事面试。这里汇总一下面试时&…

连接两个linux系统软件,【技术共享】synergy-两台电脑共享一套鼠标键盘-Linuxwindows...

PS:这软件倒是不错,可是这要求两台电脑显示器都可以看到.当然一般我们是用不到的.再加上是局域网,直接用远程桌面连接或者控制软件也可以的.前些天,我把自己的台式电脑搬到实验室,与实验室里分配给我的电脑一起用。为了方便使用,我尝试了下用…

删除android系统自带的第三方软件

一般手机买来的时候都捆绑了第三方软件,并不是我们所需要的,那我们就删除它们,我们也有选择的权利。 第一步:原理。android捆绑的软件基本安装在/system/app文件下,删除下面的对应的了第三方软件APK文件即可完美卸载 如…

struts2 中文件的位置问题

开发情况下,js文件,模板文件等不是很重要的文件一般放在WebRoot根目录下, 这种情况下的模板文件中添加 css或者js 文件时是相对文件自身添加的,必要时可以通过..来返回到WebRoot根目录,例如: WebRoot目录下…

linux cgoup内存限制,Linux Cgroup系列(05):限制cgroup的CPU使用(subsystem之cpu)

在cgroup里面,跟CPU相关的子系统有cpusets、cpuacct和cpu。其中cpuset主要用于设置CPU的亲和性,可以限制cgroup中的进程只能在指定的CPU上运行,或者不能在指定的CPU上运行,同时cpuset还能设置内存的亲和性。设置亲和性一般只在比较…

Hive的安装和配置

在hadoop帐户下一、下载hive-0.8.1.tar.gzwget mirrors.cnnic.cn/apache/hive/stable/hive-0.11.0.tar.gz二、解压到/opt/modules目录下tar -zxvf hive-0.11.0.tar.gzcd hive-0.11.0三、配置Hive的环境变量(该步在root帐户下)vi /etc/profile.d/java.she…

容错性设计

即便你的产品90%的时间都运行良好。但是如果在用户需要帮助时置之不理,他们是不会忘记这一点的。——《getting real》 我们有时候不能不面对产品出错的时候。无论设计得多么用心,无论做了多少测试,用户仍然会遇到错误和问题。既然…

19:A*B问题

总时间限制: 1000ms内存限制: 65536kB描述输入两个正整数A和B&#xff0c;求A*B。 输入一行&#xff0c;包含两个正整数A和B&#xff0c;中间用单个空格隔开。1 < A,B < 50000。输出一个整数&#xff0c;即A*B的值。样例输入3 4 样例输出12错误代码&#xff1a; #include…

hdu2057

hdu2057 #include <stdio.h> int main(){__int64 a,b,t;while(~scanf("%I64X%I64X",&a,&b)){if(ab<0) {printf("-%I64X\n",-(ab));}else{printf("%I64X\n",ab);}}return 0; } posted on 2013-11-02 13:41 symons 阅读(...) 评论…

linux静态路由添加自启动,LINUX添加静态路由

LINUX添加静态路由建议&#xff0c;先用命令添加&#xff0c;测试生效未有其他影响后&#xff0c;添加到配置文件中。以本次127前置添加静态路由为例用户需要添加路由如下&#xff0c;命令格式为windows添加格式。route -a -p10.113.70.0 mask255.255.255.010.113.65.44rout…

自省:我为什么没有成功--对照35前务必完成的12跳

第1跳:1个目标 一艘没有航行目标的船&#xff0c;任何方向的风都是逆风&#xff0c;请明确以下几点&#xff1a; 1.你为什么是穷人——很多时候是因为你没有立下成为富人的目标。 自省&#xff1a;我确实没有成为富人的目标&#xff0c;因为我只是有一些中彩票后的臆想 2.你的…

Spring Data 系列(二) Spring+JPA入门(集成Hibernate)

通过【Spring Data 系列(一) 入门】的介绍&#xff0c;通过对比的方式认识到Spring提供的JdbcTemplate的强大功能。通过使用JdbcTemplate&#xff0c;操作数据库&#xff0c;不需要手动处理Connection,Statement等底层SQL对象。可是&#xff0c;Spring对数据库的操作还远远没有…

emmet-vim

最近啊&#xff0c;我投奔了网页的开发&#xff0c;看了一本《head first HTML and CSS》的书&#xff0c;感觉非常不错&#xff0c;然后又配置了一些vim里面用到的插件&#xff0c;现在我把学习到的东西记录下来&#xff01; 首先&#xff0c;我不会在这里写emmet 的具体操作方…

熟悉linux系统内核,[科普] Linux 的内核与 Linux 系统之间的关系

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼在 FHS 协议里&#xff0c;有这样的规定&#xff1a;/bin/ 需要在单用户模式可用的必要命令(可执行文件)&#xff1b;面向所有用户&#xff0c;例如&#xff1a; cat、 ls、 cp。/boot/ 引导程序文件&#xff0c;例如&#xff1a; …

linq to xml 操作sitemap

刚开始用xml去做没有弄好&#xff0c;折腾了好久成功了&#xff0c;先仓促的记一下 protected void btnAdd_Click(object sender, EventArgs e) { XElement els XElement.Load(Server.MapPath("~\Student\stu.sitemap")); XNamespace siteNM &…