【Redis实战】快速简单搭建聊天室02——准备工作

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 【Redis实战】快速简单搭建聊天室02——准备工作

大家拿到的项目初始目录结构如下:

.
├── Pipfile
├── Pipfile.lock
├── __pycache__
│   └── main.cpython-36.pyc
├── answer
│   ├── RedisUtil.py
│   └── __pycache__
│       └── RedisUtil.cpython-36.pyc
├── main.py
├── static
│   ├── css
│   │   ├── spectre-icons.css
│   │   └── spectre.min.css
│   └── js
│       ├── jquery-3.3.1.min.js
│       ├── js.cookie.js
│       ├── login.js
│       └── room.js
├── templates
│   ├── base.html
│   ├── chatroom.html
│   └── index.html
└── your_code_here
└── RedisUtil.py

其中主要文件说明:

  • Pipfile与Pipfile.lock:是Pipenv配置运行环境的文件,用来记录项目所需要的第三方库。
  • answer文件夹下面的RedisUtil.py:本项目的参考答案,读者在自己完成项目以后可以将自己的代码与参考代码进行对比。
  • main.py、static、templates文件夹:本项目网站后台和前台的相关代码,读者不需要关心。

大家只需要修改your_code_here文件夹下面的RedisUtil.py就能完成本项目。



搭建项目运行环境

macOS/Linux终端或者Windows的CMD中进入本项目的文件夹

例如:~/mongoredis/chapter_project_2或者C:\mongoredis\chapter_project_2

执行命令安装项目运行的Python环境:

pipenv install

                                             
                                             

安装项目运行环境


安装完成以后,执行命令进入虚拟环境:

pipenv shell


进入虚拟环境

输入以下命令运行网站:

macOS/Linux:

01    export FLASK_APP=main.py

02    flask run

其中,主要说明如下:

  • 第1行代码添加环境变量,变量名为FLASK_APP,值为mian.py
  • 第2行代码通过flask启动网站


windows:

01    set FLASK_APP=main.py

02    flask run


启动网站


执行命令以后,打开浏览器,输入网址http://127.0.0.1:5000,可以看到如下图所示的页面。

此时,无论输入任何昵称,一定会提示昵称已经被占用,无法进入聊天室页面。

无论输入任何昵称都会提示昵称已经被占用

打开your_code_here文件夹下面的RedisUtil.py文件,大家看到的初始代码。

RedisUtil.py初始代码

大家需要实现RedisUtil类下面的各个方法,从而使聊天网站可以正常工作。所有需要大家修改的地方在代码注释中都已经作了提示。

目录
相关文章
|
11天前
|
存储 NoSQL 前端开发
Redis专题-实战篇一-基于Session和Redis实现登录业务
本项目基于SpringBoot实现黑马点评系统,涵盖Session与Redis两种登录方案。通过验证码登录、用户信息存储、拦截器校验等流程,解决集群环境下Session不共享问题,采用Redis替代Session实现数据共享与自动续期,提升系统可扩展性与安全性。
86 3
Redis专题-实战篇一-基于Session和Redis实现登录业务
|
11天前
|
存储 缓存 NoSQL
Redis专题-实战篇二-商户查询缓存
本文介绍了缓存的基本概念、应用场景及实现方式,涵盖Redis缓存设计、缓存更新策略、缓存穿透问题及其解决方案。重点讲解了缓存空对象与布隆过滤器的使用,并通过代码示例演示了商铺查询的缓存优化实践。
75 1
Redis专题-实战篇二-商户查询缓存
|
6月前
|
数据采集 存储 数据可视化
分布式爬虫框架Scrapy-Redis实战指南
本文介绍如何使用Scrapy-Redis构建分布式爬虫系统,采集携程平台上热门城市的酒店价格与评价信息。通过代理IP、Cookie和User-Agent设置规避反爬策略,实现高效数据抓取。结合价格动态趋势分析,助力酒店业优化市场策略、提升服务质量。技术架构涵盖Scrapy-Redis核心调度、代理中间件及数据解析存储,提供完整的技术路线图与代码示例。
604 0
分布式爬虫框架Scrapy-Redis实战指南
|
3月前
|
缓存 监控 NoSQL
Redis 实操要点:Java 最新技术栈的实战解析
本文介绍了基于Spring Boot 3、Redis 7和Lettuce客户端的Redis高级应用实践。内容包括:1)现代Java项目集成Redis的配置方法;2)使用Redisson实现分布式可重入锁与公平锁;3)缓存模式解决方案,包括布隆过滤器防穿透和随机过期时间防雪崩;4)Redis数据结构的高级应用,如HyperLogLog统计UV和GeoHash处理地理位置。文章提供了详细的代码示例,涵盖Redis在分布式系统中的核心应用场景,特别适合需要处理高并发、分布式锁等问题的开发场景。
274 41
|
3月前
|
缓存 NoSQL 算法
高并发秒杀系统实战(Redis+Lua分布式锁防超卖与库存扣减优化)
秒杀系统面临瞬时高并发、资源竞争和数据一致性挑战。传统方案如数据库锁或应用层锁存在性能瓶颈或分布式问题,而基于Redis的分布式锁与Lua脚本原子操作成为高效解决方案。通过Redis的`SETNX`实现分布式锁,结合Lua脚本完成库存扣减,确保操作原子性并大幅提升性能(QPS从120提升至8,200)。此外,分段库存策略、多级限流及服务降级机制进一步优化系统稳定性。最佳实践包括分层防控、黄金扣减法则与容灾设计,强调根据业务特性灵活组合技术手段以应对高并发场景。
1028 7
|
3月前
|
机器学习/深度学习 存储 NoSQL
基于 Flink + Redis 的实时特征工程实战:电商场景动态分桶计数实现
本文介绍了基于 Flink 与 Redis 构建的电商场景下实时特征工程解决方案,重点实现动态分桶计数等复杂特征计算。通过流处理引擎 Flink 实时加工用户行为数据,结合 Redis 高性能存储,满足推荐系统毫秒级特征更新需求。技术架构涵盖状态管理、窗口计算、Redis 数据模型设计及特征服务集成,有效提升模型预测效果与系统吞吐能力。
341 2
|
6月前
|
缓存 NoSQL Java
基于SpringBoot的Redis开发实战教程
Redis在Spring Boot中的应用非常广泛,其高性能和灵活性使其成为构建高效分布式系统的理想选择。通过深入理解本文的内容,您可以更好地利用Redis的特性,为应用程序提供高效的缓存和消息处理能力。
522 79
|
10月前
|
NoSQL 安全 测试技术
Redis游戏积分排行榜项目中通义灵码的应用实战
Redis游戏积分排行榜项目中通义灵码的应用实战
240 4
|
11月前
|
NoSQL 关系型数据库 MySQL
MySQL与Redis协同作战:优化百万数据查询的实战经验
【10月更文挑战第13天】 在处理大规模数据集时,传统的关系型数据库如MySQL可能会遇到性能瓶颈。为了提升数据处理的效率,我们可以结合使用MySQL和Redis,利用两者的优势来优化数据查询。本文将分享一次实战经验,探讨如何通过MySQL与Redis的协同工作来优化百万级数据统计。
573 5
|
11月前
|
缓存 NoSQL Java
Spring Boot与Redis:整合与实战
【10月更文挑战第15天】本文介绍了如何在Spring Boot项目中整合Redis,通过一个电商商品推荐系统的案例,详细展示了从添加依赖、配置连接信息到创建配置类的具体步骤。实战部分演示了如何利用Redis缓存提高系统响应速度,减少数据库访问压力,从而提升用户体验。
447 2