当前位置: 首页 > news >正文

园林网站模板下载做网站动图的软件

园林网站模板下载,做网站动图的软件,2023小规模企业所得税怎么征收的,3d动画制作软件手机版目的 本文目的#xff1a;实现获取主页时间线和状态推送功能。#xff08;完整代码附在文章末尾#xff09; 相关知识 在我上一篇文章 《使用Redis构建简易社交网站(2)-处理用户关系》中提到了实现用户关注和取消关注功能。 那这篇文章将教会你掌握#xff1a;1#x…目的 本文目的实现获取主页时间线和状态推送功能。完整代码附在文章末尾 相关知识 在我上一篇文章 《使用Redis构建简易社交网站(2)-处理用户关系》中提到了实现用户关注和取消关注功能。 那这篇文章将教会你掌握1redis基本命令2python基本命令。 redis基本命令 zadd将成员加入到有序集合中并确保其在正确的位置上。 conn redis.Redis() conn.zadd(testzset, member2, 3) conn.zadd(testzset, member1, 2) conn.zadd(testzset, member3, 1) 执行后 member3member1member2 执行结果111 zrange返回有序集合中指定区间内的成员。 conn redis.Redis() conn.zrange(testzset, 0, 1) 执行结果[member3, member1] zrevrange按分值递减的顺序返回有序集合中指定区间内的成员。 conn redis.Redis() conn.zrevrange(testzset, 0, -1) 执行结果[member2, member1, member3] hgetall返回哈希表中所有的域-值对。 conn redis.Redis() conn.hgetall(testhash) 执行结果{field1: 2} hget从哈希中获取指定域的值。 conn redis.Redis() conn.hget(testhash, field1) 执行结果2 pipeline将多条命令按照先后顺序放进一个队列中一般配合execute一同使用原子性atomic地执行队列里的命令。 conn redis.Redis() pipe conn.pipeline(True) # 事务开始 pipe.incr(counter) pipe.incr(counter) pipe.incr(counter) pipe.execute() # 事务执行 执行结果[1, 2, 3]通过下标即可获取对应命令的执行结果。 python基本命令 使用格式化拼接字符串 My name is %s, Im %i years old%(educoder, 2) 执行结果My name is educoder, Im 2 years old 将字符串转换为浮点数 float(1.23) 执行结果1.23 实战例题 编写 get_home_timeline(uid) 函数实现获得主页时间线的功能具体参数与要求如下 方法参数uid为要获取主页时间线的用户编号获取动态编号的实现从存储用户主页时间线的有序集合home:{uid}中按照分值递减的顺序取出所有成员获取动态详情的实现遍历动态编号使用事务一次性获取每个动态编号对应动态详情哈希键post:{pid}的所有域-值对返回主页时间线的实现返回事务执行的结果。 编写 post(uid, content) 函数实现发布动态并将动态推送给粉丝的功能具体参数与要求如下 方法参数uid为要发布动态的用户编号content为要发布的动态内容发布动态的实现调用第一关中实现的create_post方法并接收返回的动态编号若发布失败则取消发布返回None获取发布时间的实现从新发布的动态编号对应的动态详情哈希键post:{pid}中获取posted域更新个人主页的实现将新发布的动态编号存储到个人主页有序集合键profile:{uid}中分值为转为浮点数后的发布时间更新粉丝主页时间线的实现遍历用户的粉丝列表followers:{uid}将新发布的动态编号存储到每个粉丝的主页时间线的有序集合home:{follower_id}中分值为转为浮点数后的发布时间返回发布结果的实现返回新发布的动态编号。 测试说明 测试输入4 预期输出 用户 4 关注 用户 1 关注结果: True测试 post 方法... 创建动态: 1 创建动态: 2 用户 1 的动态列表: [2, 1] 用户 4 的主页时间线动态编号: [2, 1]测试 get_home_timeline 方法... 用户 4 的主页时间线: [{content: NEW post from user 1!!!, uid: 1, user_name: test_user1, id: 2}, {content: This is the first post from user 1, uid: 1, user_name: test_user1, id: 1}] code.py #code.py #-*- coding:utf-8 -*-import re import time import redisconn redis.Redis()# 获得主页时间线 def get_home_timeline(uid, page1, count30):# 请在下面完成要求的功能#********* Begin *********#post_ids conn.zrevrange(home:%s%(uid), 0, -1)pipe conn.pipeline(True)for pid in post_ids:pipe.hgetall(post:%s%(pid))return pipe.execute()#********* End *********## 发布动态并将动态推送给粉丝 def post(uid, content):# 请在下面完成要求的功能#********* Begin *********#pid create_post(uid, content)if not pid:return Noneposted conn.hget(post:%s%(pid), posted)conn.zadd(profile:%s%(uid), pid, float(posted))followers conn.zrange(followers:%s%(uid), 0, -1)pipe conn.pipeline(False)for follower in followers:pipe.zadd(home:%s%(follower), pid, float(posted))pipe.execute()return pid#********* End *********## 关注用户 def follow(uid, other_uid):fkey1 following:%s%(uid)fkey2 followers:%s%(other_uid)if conn.zscore(fkey1, other_uid):return Nonenow time.time()pipe conn.pipeline(True)pipe.zadd(fkey1, other_uid, now)pipe.zadd(fkey2, uid, now)following, followers pipe.execute()posts conn.zrevrange(profile:%s%(other_uid), 0, 100, withscoresTrue)if posts:pipe.zadd(home:%s%(uid), **dict(posts))pipe.hincrby(user:%s%(uid), following, int(following))pipe.hincrby(user:%s%(other_uid), followers, int(followers))pipe.execute()return True# 取消关注 def unfollow(uid, other_uid):fkey1 following:%s%(uid)fkey2 followers:%s%(other_uid)if not conn.zscore(fkey1, other_uid):return Nonepipe conn.pipeline(True)pipe.zrem(fkey1, other_uid)pipe.zrem(fkey2, uid)following, followers pipe.execute()posts conn.zrevrange(profile:%s%(other_uid), 0, -1)if posts:pipe.zrem(home:%s%(uid), *posts)pipe.hincrby(user:%s%(uid), following, -int(following))pipe.hincrby(user:%s%(other_uid), followers, -int(followers))pipe.execute()return True# 创建新用户 def create_user(login_name, real_name):login_name login_name.lower()if conn.hget(users, login_name):return Noneuid conn.incr(user:id)pipe conn.pipeline(True)pipe.hset(users, login_name, uid)pipe.hmset(user:%i%(uid), {login_name: login_name,id: uid,real_name: real_name,followers: 0,following: 0,posts: 0,last_signup: time.time(),})pipe.execute()return uid# 为用户创建新动态 def create_post(uid, content):pipe conn.pipeline(True)pipe.hget(user:%i%(uid), login_name)pipe.incr(post:id)login_name, pid pipe.execute()if not login_name:return Nonepipe.hmset(post:%i%(pid), {id: pid,uid: uid,content: content,posted: time.time(),user_name: login_name,})pipe.hincrby(user:%i%(uid), posts)pipe.execute()return pid read.py #read.py #-*- coding:utf-8 -*-import os import sys import time import redis import pprint from code import *conn redis.Redis() retry_time 0 while True:try:conn.ping()breakexcept redis.exceptions.ConnectionError:os.system(redis-server /dev/null 21 )retry_time 1if retry_time 3:breakpipe conn.pipeline(True) pipe.delete(users, user:id) keys (conn.keys(user:*) conn.keys(followers:*) conn.keys(following:*) conn.keys(post:*) conn.keys(profile:*) conn.keys(home:*) ) if keys:pipe.delete(*keys) pipe.execute()# 创建测试数据 join_str for i in xrange(10):login_name test_user%i%(i1)real_name join_str.join(login_name.split(_)).capitalize()create_user(login_name, real_name)uid int(sys.stdin.readline().strip())print 用户 %i 关注 用户 1%(uid) f_result follow(uid, 1) print 关注结果: str(f_result) printprint 测试 post 方法... content This is the first post from user 1 pid post(1, content) print 创建动态: str(pid) content NEW post from user 1!!! pid post(1, content) print 创建动态: str(pid) my_profile conn.zrevrange(profile:1, 0, -1) print 用户 1 的动态列表: str(my_profile) home_timeline conn.zrevrange(home:%i%(uid), 0, -1) print 用户 %i 的主页时间线动态编号: %(uid) str(home_timeline) printprint 测试 get_home_timeline 方法... my_home get_home_timeline(uid) for info in my_home:info.pop(posted, 404) print 用户 %i 的主页时间线: %(uid) str(my_home)
http://www.w-s-a.com/news/359054/

相关文章:

  • 做整装的网站北京哪个网站制作公司
  • 建设赚钱的网站福州便民生活网
  • 咸阳网站设计建设公司小程序打包成app
  • 做视频网站视频文件都存放在哪做旅游宣传图的网站有哪些
  • 地方门户类网站产品推广惠州市中国建设银行网站
  • 网站建设公司推荐5788移动版wordpress
  • 产品类型 速成网站淘宝怎么建立自己的网站
  • 南京优化网站建设公司的网站怎么建设
  • 做网站开发能挣钱月嫂云商城网站建设
  • 包装网站模板新手入门网站建设
  • 做网站的天津哪个公司做网站
  • 网站建设摊销时间是多久微信官网免费下载安装
  • 网站解析是做a记录吗群晖 wordpress 阿里云
  • 涉县移动网站建设公司常州做网站的公司有哪些
  • 网站批量创建程序中国十大人力资源公司
  • 菏泽网站建设 梧桐树二次开发创造作用
  • 维护网站费用长沙广告设计公司排名
  • 模仿别人网站侵权wordpress 修改链接失效
  • wordpress文章设置受密码保护南宁网站优化公司哪家好
  • 网站开发工程师介绍设计类的网站
  • 嘉兴seo网站推广中山建网站多少钱
  • 高端汽车网站建设帮别人做网站自己为什么会被抓
  • 网站开发实验室建设方案wordpress 主题丢失
  • 珠宝网站建设平台分析报告郑州最新发布
  • 世界杯最新排名泉州seo网站关键词优
  • 广州公司网站提供如何推广新品
  • 网站建设如何描述沈阳网站建设推广平台
  • 用dw制作个介绍家乡网站学生个人简历
  • 建设银行企业网站访问不了wordpress搬到谷歌服务器
  • 网站建设与网站优化销售别墅庭院园林景观设计公司