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

做一组静态页面网站多少钱网站源码上传到哪个文件夹

做一组静态页面网站多少钱,网站源码上传到哪个文件夹,淘客网站seo怎么做,广州做网站优化记录用户的连续登录天数 访问量:10W、100W 技术栈 Redis的bitmap: 100w的日活用户时Redis的sortedSet:10W的日活用户时Mysql: 10W的日活用户时 简述 bitmap:每个月最多31天,即31bit,每一位表示第N天是否登录的状态&#xff1…

记录用户的连续登录天数

  • 访问量:10W+、100W+

技术栈

  • Redis的bitmap: 100w+的日活用户时
  • Redis的sortedSet:10W+的日活用户时
  • Mysql: 10W的日活用户时

简述

  • bitmap:每个月最多31天,即31bit,每一位表示第N天是否登录的状态:0-未登录/1-已登录
  • setbit uid1:2025:6 25 1 (表示uid为1的用户在2025年6月份的25号登录)
  • getbit uid1:2025:6 25 (获取uid为1的用户2025年6月份25号是否登录)
  • bitcount uid1:2025:6 (获取uid为1的用户2025年6月份的登录天数)
  • 要获取当前连续登录的天数则需要代码实现,redis不能直接获取
  • sortedSet,ZADD添加时将当前日期当成score记录,获取时通过ZRangeByScore获取完整的数据,后端做连续登录天数的判断。

代码实现:python

import redis, calendar
from datetime import datetime,date
re = redis.Redis(host='127.0.0.1', port=6379, db=0)
# 获取指定年月的最大天数
def getDays(year, month):max_days = calendar.monthrange(year, month)[1]print("%d年%d月份的最大天数为: %d" % (year, month,  max_days))return max_days
# 签到初始化
def init(uid, year, month, day):key = 'sign:%d:%d:%d' % (uid, year, month)if re.exists(key) == 0: # 首次签到时初始化maxDays = getDays(year, month)for i in range(1, maxDays+1):re.setbit(key, i, 0)print('初始化' , key, i)re.setbit(key, day, 1)  # 统计本次签到的连续签到次数
def static(uid, year, month, day):cc = 0key = 'sign:%d:%d:%d' % (uid, year, month)for i in range(1, day+1):res = re.getbit(key, i)if res == 0:cc = 0else:cc += 1return cc         
# 用户本月的总的签到次数
def getAll(uid, year, month):key = 'sign:%d:%d:%d' % (uid, year, month)return re.bitcount(key) try:today = str(date.today())year, month, day = list(map(int, today.split('-')))uid = 1init(uid, year, month, day)# cc = re.bitcount('uid1') # 统计签到的总次数cc  = static(uid, year, month, day)all = getAll(uid, year, month) print('uid:%d 本次连续签到的次数为:%d, %d 月份的签到次数为:%d' % (uid, cc, month, all))
except Exception as e:print(f"连接失败: {e}")
http://www.dtcms.com/a/473895.html

相关文章:

  • 威海市城乡建设局网站网络整合营销服务商
  • 从报头到路由器——【网络编程】详解 IP 协议:报头字段、路由器功能、网段划分和分片传输
  • 网站验证北京建网站开发
  • 设计模式篇之 装饰器模式 Decorator
  • 虚幻引擎虚拟制片入门教程 之 创建项目及启用插件
  • 淳安县建设网站王璞网站开发实战答案
  • Linux禁用自带键盘和触摸板(无需每次开机重置)
  • 149、【OS】【Nuttx】【周边】效果呈现方案解析:VSCode 打开外部链接(二)
  • Apache Commons IO:文件流处理利器,让Java IO操作更简单
  • 哪个网站做简历免费自己做免费网站
  • 医院预约挂号|基于Java+vue的医院预约挂号系统小程序的设计与实现(源码+数据库+文档)
  • 翻转二叉树---超全详细解
  • AI智能体全球应用调查报告:从“对话”到“做事”的变革
  • Linux网络之----网络编程
  • [Power BI] CALCULATETABLE函数
  • 3494. 酿造药水需要的最少总时间
  • 沐风老师3DMAX科研绘图插件DNA生成器使用方法详解
  • 宁波做网站gs什么是网络营销的职能
  • AI编程工具(Cursor/Copilot/灵码/文心一言/Claude Code/Trae)AI编程辅助工具全方位比较
  • FastGPT入门实战
  • 数据结构笔试核心考点
  • 用python做购物网站万网搜官网
  • 创建qq网站如何做网站流量分析报表
  • Docker实战:从基础镜像到Nginx定制
  • 什么是NoSQL?
  • 北京网站建设公司代理备份整个网站
  • 宁夏做网站建设公司私人订制与定制
  • 在 Ubuntu 下开发鸿蒙应用:理解系统的最佳入口
  • RabbitMQ四种交换机详解
  • 几种最常见的病毒/恶意软件类型