Mysql存储
Mysql 存储过程存储过程创建123456789101112131415-- DELIMITER是定义sql语句中,让mysql执行语句的的判断符号,-- 只有当遇到定义的符号后,mysql解释器才会执行符号之前的所有语句,默认为;,但是在存储过程中;与此相冲突,所以得自定义DELIMITER // -- 输出类型分为in、out、inout:输入型、输出型、可输入也可输出CREATE PROCEDURE sp_name (输出类型 变量名 变量类型, .... )-- 存储体一般用BEGIN ... END包裹BEGIN -- 声明变量 DECLARE 变量名 变量类型 default 默认值; -- 设置变量值 SET 变量名 = 变量值; 执行得存储内部语句END//DELIMITER; -- 将mysql解释器得执行判定符号修改回;
存储的参数:
输入型参数:只允许调用存储的时候传递给存储,并不会返回,用于接受参数
输出型参数:只允许调用存储的时候返回,并不会接受传递进去的该位置的参数,用 ...
Redis主从与集群
Redis主从与集群Redis搭建主从服务
配置主服务器,然后利用该配置文件启动主服务器
12# 修改redis的配置文件中的bind绑定地址为服务器所在的地址bind 192.168.85.129
配置从服务器,然后利用该配置文件启动从服务器
1234# 修改从服务器的配置文件slave.conf文件bind 192.168.85.128slaveof 192.168.85.129 6379port 6379
查看主从关系
1redis-cli -h 192.168.85.129 -p 6379 info Republication
Redis集群搭建背景集群:是多台设备通过高速网路连接,并以同一的方式进行管理,共同对外提供服务。redis集群可以在一台机器上部署,也可以在多台机器上进行部署
Redis集群特点:
Redis去中心化,每个节点都是平等的,每个节点都保存了各自数据和整个集群的状态,并且各个节点之间保持活跃,这样就保证只要连接到其中任意一个节点,都能够获取到所有节点的数据
Redis集群中的数据存储通过CRC16算法来计算数据存放的位置。Redis集群中将存储 ...
Redis与Python交互
Redis与Python交互Redis与数据库交互
安装拓展包
12# 虚拟环境下执行pip install redis
使用
1234567891011121314# 导入模块from redis import *# 通过创建StrictRedis对象调用redis中的数据操作方法# host是redis的服务器IP,port是redis服务端口,db标识连接的数据库sr = StrictRedis(host='localhost', port=6379, db=0)# 对象的方法与redis中的数据操作方法名一毛一样,除了delete# 当对数据进行修改时,其返回的结果是操作redis的结果是否成功,True标识成功,反之为False# 当对数据进行查询时,其返回的是查询结果result = sr.set('key', 'value')# 删除数据中对应的键sr.delete('key1', 'key2')
Redis存储session信息
安装包
1pip install ...
Redis数据
Redis数据Redis数据结构
Redis时key-value的数据结构,每条数据都是一个键值对
键的类型必须是字符串,但是键不允许重复
值得类型分为五种:
string:字符串
hash:哈希,值中也是键值对得数据
list:列表
set:集合,集合内部的元素不允许重复
zset:有序集合,集合的内部元素不允许重复
数据类型除了以下命令,redis还包括很多其它的命令,详见参考:https://doc.redisfans.com
键命令1234567891011121314151617# 查找数据库中有哪些键keys 正则表达式# 判断键是否存在,存在则返回1,否则返回0exists key1# 判断键对应的value类型type key1# 删除键及对应的值del key1 key2 ...# 追加键的过期时间,如果不设定则该key-value将一直存在expire key seconds# 查看键的剩余有效时间ttl key1
String类型字符串类型是Redis中最为基础的数据存储类型,在redis中是二进制安全的,它可以接受任何格式的数据,且其字符串类型的valu ...
Redis服务与搭建
Redis服务与搭建简介nosql数据库
不支持sql语法
存储结构与传统关系型数据库中的关系表不同,nosql中存储的数据都是kv形式
nosql的世界中没有一种通用的语言,每种sql都有自己的语法和api,以及擅长的业务场景
Redis、Mongodb都属于nosql数据库
sql数据库适用于关系特别复杂的数据库查询,nosql反之
sql数据库对事务的支持十分完善,nosql基本不支持事务
Redis特点
Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载使用
Redis不仅仅支持key-value类型的数据,同时还提供list、set、zset、hash等数据结构的存储
Redis支持数据的备份,即master-slave模式的数据备份
Redis应用场景
用作缓存,Redis的所有数据都是放在内存中的(内存数据库)
可在某些特定应用场景下替代传统数据库,比如社交类的应用
在大型系统中,巧妙的实现一些特定的功能
Redis安装直装12# 直接安装sudo apt-get install redis-server
手装
生成安装
12345 ...
Mysql数据库补充
Mysql数据库补充表相关123# 重命名表的名字rename table [表名] to [新表名]alter table [表名] rename to [新表名]
Mysql完全卸载
查看是否安装mysql
1234#查看是否存在mysql服务service mysql status#查看安装了哪些相关软件包dpkg --get-selections | grep mysql
卸载mysql
1sudo apt remove mysql-*
删除残留文件
1sudo rm -rf /etc/mysql/ /var/lib/mysql
删除无用依赖
1sudo apt autoremove
删除本地残留文件和数据
12sudo apt autorecleandpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
重新安装mysql
123sudo apt-get install mysql-serversudo apt is ...
mysql安装及使用
Mysql数据库的基本使用知识点背景
mysql数据库的路径
12# 该路径下的文件夹都是对应的每一一个数据库文件sudo cd /var/lib/mysql
市场上主流数据库类型:关系型数据库、非关系型数据库
数据库引擎:InnoDB、MyISAM等。MyISAM数据处理速度快,单不支持事务;InnoDB支持事务和行级锁定,处理速度稍慢,现在5.5版本之后的mysql默认使用InnoDB
安装mysql server端
1234567891011121314# 安装mysqlsudo apt-get install mysql-server# 启动mysql服务sudo service mysql start# 查看进程中是否存在mysql服务ps aux | grep mysql# 关闭mysql 服务sudo service mysql stop# 重启mysql服务sudo service mysql restart
安装mysql client端
12345678910# 安装mysql client端sudo apt-get install mysql-client ...
mysql查询语句
Mysql数据查询知识点基本查询1234567891011# 查询所有字段select * from 表名;# 查询指定字段select 字段1, 字段2, ... from 表名;# 使用表别名select 别名.字段1, 别名.字段2, ... from 表名 as 别名;# 消除重复项select distinct 字段1, 字段2, ... from 表名;
条件查询123456789101112131415# 比较运算符:>、<、=、>=、<=、!= (<>)select * from 表名 where 条件;# 逻辑运算符:and、orselect * from 表名 where 条件1 and 条件2;# 表示非:notselect * from 表名 where not(条件);# 模糊查询:like# %:表示替换1个或者多个# _:表示替换一个select * from 表名 where 字段名 like "小%" or 字段名 like "小_"; ...