Ubuntu 中 Redis ,MySQL 基本使用

ops/2024/12/22 9:46:21/

1、Redis

(1)启动Redis 服务端客户端命令

服务端

ps aux | grep redis 查看redis服务器进程
sudo kill -9 pid 杀死redis服务器
sudo redis-server /etc/redis/redis.conf 指定加载的配置文件

在这里插入图片描述

客户端

连接redisredis-cli运⾏测试命令:
ping切换数据库
数据库没有名称,默认有16个,通过0-15来标识,连接redis默认选择第一个数据库
select 10

(2)基本操作

redis命令参考文档链接: link
http://doc.redisfans.com/

(3)与 python 交互

pip install redisfrom redis import StrictRedisif __name__=='__main__':try:sr = StrictRedis()# res = sr.set('name','itheima')# print(res)res=sr.set('name','itcast')print(res)res = sr.get('name')print(res)except Exception as e:print(e)
~                    

在这里插入图片描述

2、MySQL

(1)打开数据库

mysql -uroot -p

(2)基本命令

show databases;
create database bj18 charset=utf8;
use bj18;
show tables;

(3)Django中MySQL数据库的配置

django-admin startproject name
python manage.py startapp appname
pip install pymysql

projectname/__ init __.py:

import pymysql
pymysql.install_as_MySQLdb()

settings.py:

DATABASES = {'default': {# 'ENGINE':'django.db.backends.sqlite3',"ENGINE":'django.db.backends.mysql',# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),"NAME":'bj18',  # 使用的数据库的名字,必须手动创建"USER":'root',  # 链接mysql的用户名"PASSWORD":'mySQL',  # 用户对应的密码"HOST":'localhost',  # 指定mysql数据库所在电脑ip"PORT":3306,  # 端口号}
}

myapp/models.py

from django.db import models# Create your models here.
class BookInfo(models.Model):btitle = models.CharField(max_length=20)bpub_date = models.DateField()bread = models.IntegerField(default=0)bcomment = models.IntegerField(default=0)isDelete = models.BooleanField(default=False)class HeroInfo(models.Model):hname = models.CharField(max_length=20)hgender =models.BooleanField(default=False)hcomment =models.CharField(max_length=200)hbook = models.ForeignKey('BookInfo')isDelete = models.BooleanField(default=False)
python manage.py makemigrations
python manage.py migrate

与 MySQL 进行交互

show tables
desc booktest_bookinfo;
insert into booktest_bookinfo(btitle, bpub_date, bread, bcomment, isDelete) values
('射雕英雄传', '1980-5-1', 32, 34, 0),
('天龙八部', '1986-7-24', 36, 40, 0),
('笑傲江湖', '1995-12-24', 20, 80, 0),
('雪山飞狐', '1987-11-11', 58, 24, 0);insert into booktest_heroinfo(hname, hgender, hbook_id, hcomment, isDelete) values
('郭靖', 1, 1, '降龙十八掌', 0),
('黄蓉', 0, 1, '打狗棍法', 0),
('黄药师', 1, 1, '弹指神通', 0),
('欧阳锋', 1, 1, '蛤蟆功', 0),
('梅超风', 0, 1, '九阴白骨爪', 0),
('乔峰', 1, 2, '降龙十八掌', 0),
('段誉', 1, 2, '六脉神剑', 0),
('虚竹', 1, 2, '天山六阳掌', 0),
('王语嫣', 0, 2, '神仙姐姐', 0),
('令狐冲', 1, 3, '独孤九剑', 0),
('任盈盈', 0, 3, '弹琴', 0),
('岳不群', 1, 3, '华山剑法', 0),
('东方不败', 0, 3, '葵花宝典', 0),
('胡斐', 1, 4, '胡家刀法', 0),
('苗若兰', 1, 4, '黄衣', 0),
('程灵素', 0, 4, '医术', 0),
('袁紫衣', 0, 4, '六合拳', 0);
select * from booktest_bookinfo;
select * from booktest_heroinfo;

案例——续上

创建模板文件夹

templates/appname/index.html
配settings.py templates部分

'DIRS': [os.path.join(BASE_DIR,'templates')],
创建视图函数,连接 models 和 templates (MVT)
from django.shortcuts import render
from booktest.models import BookInfo
# Create your views here.
def index(request):books = BookInfo.objects.all()return render(request,'booktest/index.html',{'books':books})
配置url

projectname / url.py

urlpatterns = [url(r'^admin/', include(admin.site.urls)),url(r"^",include('booktest.urls')),
]

appname / urls.py

from django.conf.urls import url
from booktest import viewsurlpatterns = [url(r'^index$',views.url),
]
完善模板文件
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>图书管理首页</title>
</head>
<body>
<a href="/create">新增</a>
<ul>{%  for book in books %}<li>{{ book.btitle }}</li>{%  endfor  %}
</ul></body>
</html>
完成首页超链接“新增”功能

appname / views.py

from django.http import HttpResponseRedirect
from datetime import date
def create(request):b = BookInfo()b.btitle = '流星蝴蝶剑'b.bpub_date = date(1990,1,1)b.save()# return HttpResponse('ok')return HttpResponseRedirect('index')

appname / urls.py

urlpatterns = [url(r'^index$',views.index),url(r'^create$',views.create),
]

ps :HttpResponseRedirect重定向体现在:
在这里插入图片描述

完成首页超链接删除功能

完善 index.html

<li>{{ book.btitle }}--<a href="/delete{{ book.id }}">删除</a></li>

完成 views.delete 函数

def delete(request,bid):book = BookInfo.objects.get(id=bid)book.delete()return HttpResponseRedirect('/index')

完成 url 配置 appname / urls.py

urlpatterns = [url(r'^index$',views.index),url(r'^create$',views.create),url(r'^delete(\d+)',views.delete),
]

HttpResponseRedirect 相当于 redirect (from django import)

注意 url 配置时 / 的作用

在编辑 HTML 文件时

<a href='/create'>新增 </a>

/ 的作用是代替域名 如 127.0.0.1:8000/
正确的地址是 127.0.0.1:8000/create
如果没有 / 将是在原本的页面地址上拼接 create
如:当此时位于首页(127.0.0.1:8000/index)
点击新增,匹配的 url 将会是 127.0.0.1:8000/index/create


http://www.ppmy.cn/ops/121463.html

相关文章

微服务sentinel解析部署使用全流程

sentinel源码地址&#xff1a; 介绍 alibaba/Sentinel Wiki GitHub sentinel官方文档&#xff1a; https://sentinelguard.io/zh-cn/docs/introduction.html Sprong Cloud alibaba Sentinel文档【小例子】 : Sentinel alibaba/spring-cloud-alibaba Wiki GitHub 目录 1、…

【重学 MySQL】四十九、阿里 MySQL 命名规范及 MySQL8 DDL 的原子化

【重学 MySQL】四十九、阿里 MySQL 命名规范及 MySQL8 DDL 的原子化 阿里 MySQL 命名规范MySQL8 DDL的原子化 阿里 MySQL 命名规范 【强制】表名、字段名必须使用小写字母或数字&#xff0c;禁止出现数字开头&#xff0c;禁止两个下划线中间只出现数字。数据库字段名的修改代价…

【路径规划】多机器人路径规划

摘要 多机器人路径规划在现代自动化、仓储管理及智能交通系统中有着广泛的应用。本文提出了一种基于A*算法的多机器人路径规划方法&#xff0c;旨在解决多机器人在同一环境中的路径冲突问题。通过采用启发式搜索和路径优化策略&#xff0c;机器人能够在保持避障的前提下实现最…

安卓主板_MTK4G/5G音视频记录仪整机及方案定制

音视频记录仪方案&#xff0c;采用联发科MT6877平台八核2* A78 6* A55主频高达2.4GHz, 具有高能低耗特性&#xff0c;搭载Android 12.0智能操作系统&#xff0c;可选4GB32GB/6GB128GB内存&#xff0c;运行流畅。主板集成NFC、双摄像头、防抖以及多种无线数据连接&#xff0c;支…

【AI】AIOT简介

随着技术的快速发展&#xff0c;人工智能AI和物联网IoT已经成为当今最热门的技术领域。AIOT是人工智能和物联网的结合&#xff0c;使物联网设备更加智能化&#xff0c;能够进行自主决策和学习的技术。 通过物联网产生、收集来自不同维度的、海量的数据存储于云端、边缘端&#…

linux无法使用ll命令

ll命令是ls -l的别名&#xff0c;无法使用通常是该用户没有该别名配置&#xff0c;只需要简单添加即可使用 修改~/.bashrc # 备份 cp ~/.bashrc ~/.bashrc.source # 编辑 vim ~/.bashrc添加如下内容 # 别名 alias llls -l加载配置 source ~/.bashrc

Notepad++ 之 AndroidLogger插件

背景 最近一段时间在分析Android log 定位问题&#xff0c;Notepad 之前用的比较少&#xff0c;现在看log觉得确实好用&#xff0c;美中不足的是 看Android log的时候不像 logcat -v color 可以区分不同等级的颜色&#xff0c;于是调研了一下&#xff0c;发现大部分都是使用An…

使用 Vertex AI Gemini 模型和 Elasticsearch Playground 快速创建 RAG 应用程序

作者&#xff1a;来自 Elastic Jeff Vestal 在这篇博客中&#xff0c;我们将使用 Elastic 的 Playground 和 Vertex AI API 将 Elasticsearch 连接到 Google 的 Gemini 1.5 聊天模型。将 Gemini 模型添加到 Playground 使 Google Cloud 开发人员能够快速建立 LLM、测试检索、调…