编辑
2024-04-14
Python
00

Django 分页功能整理

分页是网站中常见的功能,用于将数据拆分成多页显示。以下是实现分页的详细步骤及示例代码。

分页流程

  1. 设定每页显示数据条数

    • 确定每页展示多少条数据,如每页显示5条。
  2. 用户输入页码

    • 用户通过分页按钮选择页码(如第一页、第二页等)。
  3. 计算起始位置

    • 根据设定的每页显示条数和当前页码,计算数据在数据库中的起始位置。
  4. 查询数据库

    • 根据起始位置查询对应页码的数据。
  5. 生成分页导航

    • 根据当前页和总页数,生成分页按钮,如 [上一页][1][2][3][4][5][下一页]
编辑
2024-04-12
Python
00

经常使用到的

安装第三方模块

pip install mysqlclient

自己创建数据库

  • 启动MySQL服务

  • 自带工具创建数据库

    create database database_name DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

django连接数据库

在settings.py文件中进行配置和修改。

python
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'database_name', # 数据库名字 'USER': 'root', 'PASSWORD': 'root123', 'HOST': '127.0.0.1', # 那台机器安装了MySQL 'PORT': 3306, } }
编辑
2024-04-12
DeployDiary
00

项目结构

image.png

微服务架构下部署的问题

  1. 由于服务 + 中间件的复杂度,导致部署复杂度也呈指数级上升
  2. 服务与服务之间的依赖关系
  3. 服务之间的网络共享问题
  4. 考虑有状态服务的数据持久化问题

问题一: 利用 docker-compose 的服务编排能力,来实现对多服务的批量化处理

问题二: 利用 docker-compose 的 depends_on 属性,来设置依赖服务,必须按依赖服务先启动,当前服务才能启动

问题三: 利用自定义网络,或者 links 属性来连接需要通信的服务

问题四: 使用数据持卷来进行持久化的数据管理

编辑
2024-04-03
DBNotes
00

Redis 介绍

image.png

Redis,英文全称是Remote Dictionary Server(远程字典服务),是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

与MySQL数据库不同的是,Redis的数据是存在内存中的。它的读写速度非常快,每秒可以处理超过10万次读写操作。因此redis被广泛应用于缓存,另外,Redis也经常用来做分布式锁。除此之外,Redis支持事务、持久化、LUA 脚本、LRU 驱动事件、多种集群方案。

编辑
2024-03-30
Python
00

socket介绍

什么是 Socket?

  • Socket 是一种网络通信的端点,可以看作是一个通讯通道的一个端口。通过 Socket,不同的应用程序可以在网络上相互通信。Socket 是操作系统提供的一种接口,应用程序通过它可以发送和接收数据。

image.png

Socket 的分类

  • Socket 可以根据传输协议分类为:
  1. 流式套接字(Stream Socket):
  • 基于 TCP(Transmission Control Protocol)协议,提供面向连接的、可靠的字节流服务。
  • 使用场景:需要保证数据顺序和完整性的应用,比如 HTTP、FTP。
  1. 数据报套接字(Datagram Socket):
  • 基于 UDP(User Datagram Protocol)协议,提供无连接、不可靠的数据传输服务。
  • 使用场景:需要快速传输数据且不要求数据可靠性的应用,比如视频流、在线游戏。