摘要: 1). 从官网上下载Redis的压缩包 2). 将压缩包解压到 某个指定的文件目录中 tar -xzvf redis-4.0.9.tar.gz /xx/xx/xx_dir 3).使用 gcc 进行二进制文件的编译 make 4).将Redis安装到 /usr/local/redis 目录中去 这里需 阅读全文
posted @ 2019-07-04 14:53 豆豆飞 阅读(829) 评论(0) 推荐(0) 编辑
摘要: 基本命令 包括SET , GET , INCR , DEL , EXPIRE , TTL SET server:name "10" GET server:name INCR server:name DEL server:name INCR server:name #Redis提供INCR操作,是因为 阅读全文
posted @ 2019-07-04 14:53 豆豆飞 阅读(138) 评论(0) 推荐(0) 编辑
摘要: Redis支持的数据类型 String List Set Sorted Set Hashes Bit array HyperLogLog Binary-safe strings : Redis的键是二进制安全的,可以使用任何的二进制序列作为键. 比如"foo"这样的字符串,甚至是JPEG文件的二进制 阅读全文
posted @ 2019-07-04 14:53 豆豆飞 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 1.SQL语句优化的一般步骤 1).了解各种SQL的执行频率 客户端连接成功后,可以通过SHOW [SESSION | GLOBAL] STATUS 命令来查看服务器状态信息; 也可以在操作系统上使用 mysqladmin extended-status 命令获得这些消息. SESSION : 表示 阅读全文
posted @ 2019-07-04 14:52 豆豆飞 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 1.SQL Mode解决的问题: a.通过设置SQL Mode , 可以完成不同严格程度的数据校验,有效地保障数据准确性. b.通过设置SQL Mode 为ANSI模式,来保证大多数SQL符合标准的SQL语法,应用在不同数据库之间迁移时,对业务SQL进行的修改较小. 2.MySQL SQL Mode 阅读全文
posted @ 2019-07-04 14:51 豆豆飞 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 1.正则表达式的使用 ^ 在字符串开始处进行匹配 $ 在字符串末尾处进行匹配 . 匹配任意单个字符,包括换行符 [...] 匹配出括号内的任意字符 [^...] 匹配不出括号内的任意字符 a* 匹配零个或多个a(包括空串) a+ 匹配1个或多个a(不包括空串) a? 匹配1个或0个a a1|a2 匹 阅读全文
posted @ 2019-07-04 14:51 豆豆飞 阅读(126) 评论(0) 推荐(0) 编辑
摘要: SQL中的安全问题 1.SQL注入 demo1: SELECT * FROM user WHERE username = ? AND password = ? ; http://127.0.0.1/injection/user.do?username=angel' or '1=1 http://12 阅读全文
posted @ 2019-07-04 14:50 豆豆飞 阅读(555) 评论(0) 推荐(0) 编辑
摘要: MySQL支持的锁定 : a.表级锁定 : MyISAM 和 MEMORY b.页级锁定 : BDB c.行级锁定 : InnoDB 默认情况下,表锁和行锁都是自动获得的,不需要额外命令. 有些情况下,用户需要明确地进行锁表或者进行事务的控制,确保事务的完整性. 1.LOCK TABLES 和 UN 阅读全文
posted @ 2019-07-04 14:13 豆豆飞 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 触发器是与表有关的数据库对象,在满足条件时触发,并执行触发器中定义的语句集合. 触发器可以协助应用在数据库端确保数据的完整性. 1.创建触发器 CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH RO 阅读全文
posted @ 2019-07-04 14:08 豆豆飞 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 存储过程和函数 存储过程和函数是事先经过编译并存储在数据库中的一段SQL语句的集合. 调用存储过程和函数可以简化应用开发人员的工作,减少数据在数据库和应用服务器之间的传输,提高数据处理的效率. 存储过程和函数的区别在于: 函数必须有返回值,而存储过程没有. 存储过程的参数可以使用 IN,OUT,IN 阅读全文
posted @ 2019-07-04 14:03 豆豆飞 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 视图概述 视图View是一种虚拟存在的表.行和列数据来自自定义视图的查询中使用的表,在使用视图时动态生成. 视图的优势: 简单:用户不需要关心后面对应的表的结构,关联条件和筛选条件.对用户来说事已经过滤筛选好的复合条件的结果集. -- 那应该就是相当于Java中的接口了. 安全:使用视图的用户只能访 阅读全文
posted @ 2019-07-04 14:02 豆豆飞 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 索引概述 每种存储引擎对每个表至少支持16个索引,总索引长度至少256字节. MyISAM和InnoDB的表默认创建BTREE索引.MEMORY引擎默认使用HASH索引,但也支持BTREE MySQL目前不支持函数索引,但支持前缀索引. MyISAM支持的前缀索引最大长度为1000字节;InnoDB 阅读全文
posted @ 2019-07-04 13:45 豆豆飞 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 查询当前默认存储引擎 SHOW VARIABLES LIKE 'table_type' ; 查询当前数据库支持的引擎有哪些 : SHOW ENGINES \G -- 推荐这种 , 显示更多信息 SHOW VARIABLES LIKE 'have%' ; 建表时指定存储引擎 CREATE TABLE 阅读全文
posted @ 2019-07-04 13:44 豆豆飞 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 字符集的选择 1.数据库方面最流行的是UTF-8 2.如果只考虑支持汉字,那么使用GBK,毕竟GBK下,每个汉字只占用2个字节,而UTF-8需要3个字节. 3.如果需要做大量的字符运算,如比较/排序等,选择 定长字符集 比较好. 4.如果所有客户端程序都支持相同的字符集,优先选择该字符集.避免因字符 阅读全文
posted @ 2019-07-04 13:44 豆豆飞 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 算数运算符 + - * / DIV % MOD 比较运算符 = <> != <=>(安全等于,NULL<=>NULL返回1) < <= > >= BETWEEN IN 'IS NULL' 'IS NOT NULL' LIKE REGEXP RLIKE 逻辑运算符 NOT ! AND && OR || 阅读全文
posted @ 2019-07-04 13:43 豆豆飞 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 常用函数 1.字符串函数 CONCAT(str1,str2,..,strN) 将str1,str2..strN 拼接成一个字符串,当这里有任何一个为NULL,则拼接结果为NULL INSERT(str, idx,len,tarStr) 将字符串str从 idx 位置开始,len个字符长度的子串替换为 阅读全文
posted @ 2019-07-04 13:43 豆豆飞 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 数据类型的选择 1.CHAR与VARCHAR 存储/检索的方式不同. CHAR是固定长度,而VARCHAR是可变长度 非SQLMode下,超过指定长度,会做截取操作.SQLMode模式下,会报错 'adcdefgh'插入到CHAR(4)和VARCHAR(4)中,前者需要4字节,后者需要5字节,结果都 阅读全文
posted @ 2019-07-04 13:40 豆豆飞 阅读(151) 评论(0) 推荐(0) 编辑
摘要: MySQL支持的数据类型 1.数值类型: a.整数类型 TINYINT 1字节 有符号(-128~127); 无符号(0~255) SMALLINT 2字节 有符号(-32768~32767); 无符号(0~65535) MEDIUMINT 3字节 INT , INTEGER 4字节 BIGINT 阅读全文
posted @ 2019-07-04 13:39 豆豆飞 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 注: 语句用 ; 或 \g \G 表示结束 . 建库语句 : CREATE DATABASE db_name ; 查询有哪些库 : SHOW DATABASES ; 选中/使用库 : USE db_name ; 查询该库中有哪些表 : SHOW TABLES ; 删除库 : DROP DATABAS 阅读全文
posted @ 2019-07-04 13:38 豆豆飞 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 1.插入记录 基本语法 : INSERT INTO tbl_name (col_name ,col_name1,..,col_nameN) VALUES (val1,val2,…,valN) ; 对于可空字段/非空但用默认值字段/自增字段 可以不在insert后的字段列表中出现,对应的值分别为NUL 阅读全文
posted @ 2019-07-04 13:38 豆豆飞 阅读(142) 评论(0) 推荐(0) 编辑