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

个人网站做电影网站网站制作复杂吗

个人网站做电影网站,网站制作复杂吗,万豪酒店线上营销推广,新建的网站如何做seo目的 本文目的#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.yutouwan.com/news/263850/

相关文章:

  • 定手机网站建设温州市建设小学网站
  • 保定企业建站系统模板网站建设企业谁家好
  • 广西网站建设网址赣州做网站什么价格
  • 福田做商城网站建设哪家公司便宜点怎样优化网站案例
  • 怎么做动漫照片下载网站怎么让wordpress
  • 网站备案号怎么查询新网站百度有审核期
  • 石家庄网站建设公司排名做销售的去哪个网站应聘
  • 数码电子产品网站建设策划书网站首页没收录
  • 可以做动漫的网站做网站的内容资源
  • app导航网站源码简单干净的网站
  • 汇川区住房和城乡建设厅网站WordPress设置腾讯企业邮箱
  • 户型图在哪个网站找哪里有手机网站制作公司
  • 微股东微网站制作平台公众号编辑器下载
  • 网站记录ip 修改有哪些网站建设工作
  • 企业网站建设目的选择题免费ppt素材库大全app
  • 怎么做百度网站验证有没有比WORDPRESS好的软件
  • 类似于美团的网站怎么做的个体户做网站是怎么备案
  • 建设工程用地批准手续在哪个网站江苏今天刚刚的最新新闻
  • 福田企业网站推广哪个好扁平化设计网站 国内
  • 队标logo设计简单网站如何做优化排名
  • 150网站建设网站开发经常遇到的问题
  • 举报网站建设自查报告常见的网络推广方式有哪些
  • 免费门户网站微信的企业网站模板
  • 哈尔滨网站备案手续山东网站建设哪家便宜
  • 深圳定制建站网站建设esu wordpress
  • 宁波网站建设选择荣胜网络做的新网站能用多久
  • 怎么在百度创建网站一起做网店广州站
  • 做外贸网站信息西安网站建设是什么
  • 舟山网站建设代理开封网站建设培训班
  • 区块链 做网站马鞍山网站建设兼职