redis是干什么用的,redis可以用来干什么

  redis是干什么用的,redis可以用来干什么

  首先安装pip

  一个

  2

  三

  四

  五

  六

  七

  八

  # apt-get安装python-pip

  ……

  # pip install-proxy=http://172 . 1 . 2 . 608080 redis

  下载redis-2.9.1.tar.gz(62kb):62kb已下载

  运行setup.py(路径:/tmp/pip _ build _ root/redis/setup . py)egg _ infoforpackageredis

  ……

  成功安装记录

  学会升级。

  您也可以使用easy_install来安装。

  一个

  easy_installredis

  或者直接编译安装:

  一个

  2

  三

  四

  pypi.python.org/packages/source/r/redis/redis-2.9.1.tar.gz wget 3359号

  tarxvzfredis-2.9.1.tar.gz

  cdredis-2.9.1

  pythonsetup.pyinstall

  2.简单redis运算

  Redis连接实例是线程安全的,可以通过将redis连接实例设置为全局变量来直接使用。如果需要另一个Redis实例(或Redis数据库),必须重新创建Redis连接实例以获得新的连接。同样,python的redis也不实现select命令。

  一个

  2

  三

  四

  五

  六

  七

  八

  九

  10

  11

  12

  13

  14

  15

  16

  17

  18

  19

  准备导入

  r=redis.redis(host=localhost ,port=6379,db=0)))))))))))))65

  r .集(《郭》,《帅》)

  真实的

  郭.

  “‘水’

  r [过]

  “‘水’

  r.keys()).

  [郭]

  R.dbsize当前数据库包含多少数据?

  1L

  删除(郭)

  一个

  R.save执行“检查点”操作,并将数据写回磁盘。保存时阻止

  真实的

  r.get(郭);

  R.flush db(清除# r中的所有数据

  真实的

  3.流水线操作

  Pipeline是redis基类的一个子类,在提供单个请求时缓冲多个服务器命令。通过减少服务器和客户端之间重复的TCP数据库软件包,大大提高了批处理命令的执行能力。

  一个

  2

  三

  四

  五

  六

  七

  八

  管道(--创建一个管道

  p.set (hello , redis )

  p.sadd(Faz , baz )

  增量(数字)

  p.execute().

  [真,1,1 ]

  r.get(Hello )).

  “‘雷迪斯’

  您可以编写管道命令,如下所示:

  一个

  p.set(你好),‘redis’。萨德)、FAZ、巴兹)。incr)、“num”)。执行)).

  默认情况下,在管道中执行的命令的原子性是有保证的。可以通过执行pipe=r . pipeline(transaction=false)来禁用该属性。

  4.应用场景的页面点击量

  055-79000详细讲解这个经典场景。假设您需要记录一系列页面的点击量。比如论坛里的每一个帖子都会记录点击次数,比次数还多。

  帖子的数量要多得多。如果使用关系数据库存储点击,可能会有很多行级锁争用。因此,最好使用redis的INCR命令来增加点击量。

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

  一个

  2

  r.set(访问次数:1237:总计,34634)

  真实的

  每当页面被点击时,使用INCR来增加点击次数。

  一个

  2

  三

  四

  r.incr(访问次数:1237:总数)

  34635

  r.incr(访问次数:1237:总数)

  34636

  这个值可以在页面加载时直接获得。

  一个

  2

  r.get(访问次数:1237:总数)

  34636

  5.使用哈希类型保存多样化的对象

  当有大量内容不同的文档时(即表格没有固定的列),可以用hash表示。

  一个

  2

  三

  四

  五

  六

  七

  八

  九

  10

  11

  12

  r.hset(users:jdoe , name , John Doe )

  1L

  r.hset(用户:jdoe

  1L

  r.hset(用户:jdoe ,电话, 1555313940 )

  1L

  r.hincrby(用户:jdoe ,访问,1)

  1L

  r.hgetall(用户:jdoe )

  { 电话: 1555313940 ,姓名:无名氏,拜访

  r.hkeys(用户:jdoe )

  [姓名,电子邮件,电话,访问]

  6.应用场景——社交圈数据

  在社交网站中,每个圈子都有自己的用户群。具有共同特征的人(如某项体育活动、游戏、电影等的爱好者。)可以通过圆圈找到。当用户加入一个或几个圈子时,系统可以向用户推荐圈子里的人。

  我们定义这两个圈子,加入一些圈子成员。

  一个

  2

  三

  四

  五

  六

  七

  八

  九

  10

  11

  12

  r.sadd(圈子:游戏:lol ,用户:debugo )

  一个

  r.sadd(圈子:游戏:lol ,用户:leo )

  一个

  r.sadd(圈子:游戏:lol ,用户:郭)

  一

  r.sadd(圈子:足球:InterMilan ,用户:郭)

  一

  r。sadd(圈子:足球:国际米兰,用户:李维斯)

  一

  r。sadd(圈子:足球:国际米兰,用户:利奥)

  一

  #获得某一圈子的成员

  一

  2

  3

  r.smembers(圈子:游戏:lol’)

  设置([用户:郭,用户:debugo ,用户:狮子座])

  redimembers circle:jdoe:family

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

  一

  2

  3

  四

  r.sinter(圈子:游戏:lol ,圈子:足球:inter Milan’)

  设置([用户:郭,用户:利奥])

  r . sunion(’圈子:游戏:lol ,圈子:足球:inter Milan’)

  设置([用户:李维斯用户:郭,用户:debugo ,用户:狮子座])

  7.应用场景 实时用户统计

  用使用心得统计在线用户介绍了这个方法。当我们需要在页面上显示当前的在线用户时,就可以使用使用心得来完成了。首先获得当前时间(以Unix操作系统时间戳方式)除以60,可以基于这个值创建一个钥匙。然后添加用户到这个集合中。当超过你设定的最大的超时时间,则将这个集合设为过期;而当需要查询当前在线用户的时候,则将最后普通分钟的集合交集在一起即可。由于存储连接对象是线程安全的,所以可以直接使用一个全局变量来表示。

  一

  2

  3

  四

  5

  6

  七

  8

  9

  10

  11

  12

  13

  14

  15

  16

  17

  18

  19

  20

  21

  22

  23

  24

  25

  26

  27

  28

  29

  进口时间

  fromredisimportRedis

  fromdatetimeimportdatetime

  在线_最后_分钟=5

  redis=Redis()

  defmark_online(用户标识):#将一个用户标记为在线的

  now=int(time.time())#当前的一种多用户的计算机操作系统时间戳

  expires=now(app。config[ ONLINE _ LAST _ MINUTES ]* 60)10 #过期的一种多用户的计算机操作系统时间戳

  all _ users _ key= online-users/% d %(现在//60)#集合名,包含分钟信息

  user_key=用户活动/% s %用户标识

  p=redis.pipeline()

  p .萨德(所有用户密钥,用户标识)#将用户编号插入到包含分钟信息的集合中

  p.set(用户密钥,现在)#记录用户的标记时间

  p。exp reat(所有用户密钥,过期)#设定集合的过期时间为一种多用户的计算机操作系统的时间戳

  p。exp reat(用户密钥,过期)

  执行()

  def get _ user _ last _ activity(用户标识):#获得用户的最后活跃时间

  last _ active=redis。get( user-activity/% s % user _ id )#如果获取不到,则返回没有人

  iflast_activeisNone:

  returnNone

  返回日期时间。utcfromtimestamp(int(last _ active))

  defget_online_users():#获得当前在线的用户的列表

  当前=int(time.time())//60

  分钟=x范围(app。配置[在线_最后_分钟])

  returnredis。sunion([ online-users/% d %(current-x)#取在线_最后_分钟分钟对应集合的交集

  forxinminutes

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 关于redis数据库入门详细介绍图片,redis数据库的使用,关于Redis数据库入门详细介绍
  • redis队列操作命令,redis 循环队列
  • redis队列操作命令,redis 循环队列,redis实现简单队列
  • redis部署应用服务器上,redis如何启动服务器
  • redis部署应用服务器上,redis如何启动服务器,搭建Redis服务器步骤详细介绍
  • redis缓存穿透和击穿解决方案,redis缓存穿透,缓存雪崩解决
  • redis缓存穿透和击穿解决方案,redis缓存穿透,缓存雪崩解决,redis缓存穿透解决方法
  • Redis缓存,redis和缓存
  • Redis缓存,redis和缓存,Redis缓存详解
  • redis的配置,启动,操作和关闭方法有哪些,关闭redis的命令,Redis的配置、启动、操作和关闭方法
  • redis的主从配置方法详解图,Redis主从配置
  • redis的主从配置方法详解图,Redis主从配置,redis的主从配置方法详解
  • redis界面工具,mac安装redis可视化工具
  • redis界面工具,mac安装redis可视化工具,推荐几款 Redis 可视化工具(太厉害了)
  • redis正确使用的十个技巧是什么,redis正确使用的十个技巧有哪些
  • 留言与评论(共有 条评论)
       
    验证码: