Redis数据库和项目框架

本文详细介绍了Redis的安装步骤及配置方法,并提供了Redis五大数据类型的使用案例,包括String、List、Hash、Set和Zset等。此外,还介绍了如何通过Python操作Redis数据库,以及如何在Django项目中设置虚拟环境和配置跨域。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.安装redis

1.下载压缩包

下载地址:https://github.com/tporadowski/redis/releases
备用:https://hub.fastgit.xyz/tporadowski/redis/releases 切记:镜像网站不要登录自己的账号

2.解压缩包,创建一个文件夹,把解好的文件夹放在创的文件夹内
3.配置环境变量

就是把文件的根目录创到环境变量中

4.注册并绑定使用的配置文件
redis-server --service-install 配置文件地址  # 安装服务
redis-server --service-uninstall  # 卸载服务
5.启动server程序
redis-server --service-start # 启动redis服务器
redis-server --service-stop # 停止redis服务器
6.重启redis服务器

redis五大数据类型

  1. String 字符串类型
  2. List 列表
  3. Hash 哈希 guns={‘name’:‘haha’}
  4. Set 无序列表
  5. Zset 有序列表 默认从小到大

通用命令

select 2 # 切换到2库 默认为0,可选0-15 有16个库
keys * # 查询所有的键
exists name # 确认键是否存在
type name # 查看键的类型
rename key newkey # 修改键名
del name # 删除键
flushdb # 清空当前库
flushall # 清空所有库

常用命令

String类型

1.数据库写法
# 增
set key value # 创建一个key-value
mset key1 value1 key2 value2... # 同时创建多个
set key value ex 10 # 设置有效期
set key value nx # 当key不存在,才会存入

# 查
get key # 查看一个key的值
mget key1 key2.. # 获取
strlen key1 #获取key长度

# 改
set key newvalue  # 修改key的值
mset key1 newvalue1 key2 newvalue2..# 多个修改
# 修改字符串的一部分,从位置1开始修改字符,以asdv覆盖
setrange key 1 asdv
append key value  # 追加

# string有特殊数字
incr key # 自增1
decr key # 自减1
incrby key 5 # 自增  5
decrby key 5 # 自减  5
2.python写法
import redis
# db 不写默认为0 没有密码可以不写 host写127.0.0.1快一点
r = redis.Redis(host='127.0.0.1',port=6379,password='123123',db=0)
r.set("name","haha")
r.mset({"name":"haha","age":23})

# 获取key值
r.get("name") # 返回字符串
r.mget("name","age") # 返回值列表

# 设置过期时间
r.set("name","haha",ex=10)
# 不存在时创建
r.set("name","haha",nx=True)

# 获取字符串长度,int
r.strlen("name") 

Set类型(无序列表,无序集合)

# 增
sadd key value1 value2 value3

# 查
smembers key # 查所有人员
scard key # 查当前房间多少玩家
sismember key value # 判断value是否加入游戏

# 改
srem key value1 value2 # 吧value1,value2移除

Zset类型(有序集合)

# 增
zadd guns 30 ak47 47 dp28 100 m247

# 查
zrange guns 0 -1 # 查看guns,从小到大排序
zrevrange guns 0 -1 # 从大到小

zrangebyscore guns (40 100 # 在(40-100]之间所有枪械
zrangebyscore guns 30 100 limit 2 1 withscores # 30-100之间的枪械 分页,每页1条,第三页
zrevrangebyscore guns 100 40 # 查看弹容量在(40-100]之间的所有枪械
zrevrangebyscore guns 100 30  limit 2 1 withscores # 分页,每页1条,第三页

zcard guns # 查看系统中枪的种类数
zcount guns (20 50 # 获取(20-50] 区间内的所有枪械数

zrank guns dp28 # 按照从小到大,查看排名 
zrevrank guns dp28 # 按照从大到小

zscore guns ak47 # 查看弹容量

# 改
zincrby guns 20 m247 # 给m247枪增加20发子弹
zincrby guns -20 m247 # 给dp28 减少20发子弹

zrem guns ak47 ... # 按照字符串来移除元素,可同时多个
zremrangebyrank guns 1 2 # 按照弹容量排名  0-3 区间内的元素移除
zremrangebyscore guns 0 40 # 把弹容量小于40发的,全部删除掉

Hash类型

Hash是一个string类型的field(字段)和value(值)映射表,适合用于存储字典

# 插入 键和字段存在时,属于更新
hset key field value # 单个
hmset key field1 value1 field2 value2 # 多个

# 增
hincrby key field number # 为指定字段的整数值加上增量

# 查
hget key field #指定字段的值
hgetall key # 获取所有字段和值
hkeys key  #获取所有的字段
hvals key   #获取所有的值

# 删
hdel key field1 [field2] # 删除一个或多个哈希字段, 返回删除的个数

List类型

是简单的字符串列表

# 插
lpush key val1 val2 # 从左边插入
rpush key val1 val2 # 从右边插

# 更新
lset key index val # 修改某个下标的值

# 删
lpop key # 删除左边第一个值, 并立即返回该值
rpop key # 删除右边第一个值, 并立即返回该值

#列表为空时,阻塞的删除
blpop  mylist  10
brpop mylist 10

lrem key count value # 返回的是删除的个数,删除指定的值

ltrim key start stop # 截取数据
lrange key start stop # 返回指定区间内的内容
llen key  #获取列表的长度

2.项目架构

1.设置虚拟环境

虚拟环境不会污染系统默认的python环境

# 创建虚拟环境
python -m venv myvenv
# 激活虚拟环境
myvenv/Scripys/activate

在这里插入图片描述
在虚拟环境中,安装使用的包

pip install -r requirements.txt

2.创建django项目

注:

  1. 项目不要放在C盘
  2. 路径不能有汉字
  3. 版本 Django 3.2.X

1.创建django项目

django-admin startproject 项目名

2.打开项目,配置创建的虚拟环境

在这里插入图片描述
在这里插入图片描述
点击add
在这里插入图片描述
在这里插入图片描述
出现venv目录,就代表虚拟环境创建成功

如何进入虚拟环境
在控制台

cd venv/scripts # 进入scripts目录
activate # 激活虚拟环境

如何退出虚拟环境

cd venv/scripts # 进入scripts目录
deactivate.bat # 执行退出命令

3.配置跨域

1.安装跨域的库
 pip install django-cors-header
2.注册子应用
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'rest_framework',  # drf框架
    'corsheaders',     # 跨域
    'users',           # 子应用
]
3.注册中间件
MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'corsheaders.middleware.CorsMiddleware',  # 跨域中间件
]
4.设置配置项
# 配置跨域相关的配置项
CORS_ORIGIN_WHITELIST = [  # 配置ip白名单
    "http://127.0.0.1:8080",
    "http://localhost:8080",
    "http://127.0.0.1:8000",
]
CORS_ALLOW_CREDENTIALS = True  # 允许cookie
CORS_ALLOW_METHODS = ("*")     # 配置允许的请求方式
CORS_ALLOW_HEADERS = ("*")     # 配置允许的请求头

4.运行前端项目

讲vue项目拖到一个新文件中,打开小黑框

npm install

运行

npm run dev
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值