16

thinkphp+redis实现秒杀功能

记录下php+redis实现商城秒杀功能。

1,安装redis,根据自己的php版本安装对应的redis扩展(此步骤简单的描述一下)

1.1,安装 php_igbinary.dll,php_redis.dll扩展此处需要注意你的php版本如图:

20190216161512

1.2,php.ini文件新增 extension=php_igbinary.dll;extension=php_redis.dll两处扩展

ok此处已经完成第一步redis环境搭建完成看看phpinfo Continue reading

16

php操作redis常用方法代码例子

背景:redis这个新产品在sns时很火,而memcache早就存在, 但redis提供出来的功能,好多网站均把它当memcache使用,这是大才小用,这儿有30个方法来使用redis,值得了解。
这篇文章主要介绍了30个php操作redis常用方法代码例子,本文其实不止30个方法,可以操作string类型、list类型和set类型的数据,需要的朋友可以参考下
redis的操作很多的,以前看到一个比较全的博客,但是现在找不到了。查个东西搜半天,下面整理一下php处理redis的例子,个人觉得常用一些例子。下面的例子都是基于php-redis这个扩展的。 Continue reading

14

mysql数据库主键和外键的相关知识

一、什么是主键、外键:

关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键
比如
学生表(学号,姓名,性别,班级)
其中每个学生的学号是唯一的,学号就是一个主键
课程表(课程编号,课程名,学分)
其中课程编号是唯一的,课程编号就是一个主键
成绩表(学号,课程号,成绩)
成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记录,所以 学号和课程号的属性组是一个主键

成绩表中的学号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键

同理 成绩表中的课程号是课程表的外键 Continue reading

14

mysql索引类型(normal、unique、full textl)及索引方法(BTree、Hash)的概念与使用场景

mysql索引类型

mysql索引类型normal,unique,full text的区别是什么?

normal:表示普通索引

unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为unique

full textl: 表示 全文搜索的索引。 FULLTEXT 用于搜索很长一篇文章的时候,效果最好。用在比较短的文本,如果就一两行字的,普通的 INDEX 也可以。

总结,索引的类别由建立索引的字段内容特性来决定,通常normal最常见。 Continue reading

09

MySQL命令行操作

登录mysql:
mysql -u 用户名 -p
Enter password: 输入mysql密码

通过CMD进入没有设置环境变量的MYSQL
先进入到MYDQL安装目录下的./bin文件夹,之后输入
./mysql.exe -h localhost -u root -p

./mysql.exe -u root -p
回车
Enter password: 输入mysql密码

显示所有数据库列表:
mysql> show databases;

显示所有数据表列表:
mysql> show tables;

选择进入某数据库:
use mysql;

显示数据表的结构:
describe 表名;

建库:
create database 库名;

建表:
use 库名;
create table 表名 (字段设定列表);

删库和删表:
drop database 库名;
drop table 表名;

将表中记录清空:
delete from 表名;

显示表中的记录:
select * from 表名

修改表名:
ALTER TABLE admin_user RENAME TO a_user

命令行导入数据库.sql文件:
mysql> use dbname;
mysql> source /root/databack.sql
或:
mysql -u 数据库用户名 -p 数据库名 < 预导入的文件名.sql (最后没有分号)
mysql -u abc -p dbname < databack.sql

命令行导出数据库.sql文件:
mysqldump -u 数据库用户名 -p 目标数据库 > 存储的文件名
mysqldump -u root -p dbname >abc.sql
然后回车输入密码即可

命令行导出多个数据库:
mysqldump -u root -p –add-drop-database –databases dbName1 dbName2… > sqlFilePath
–add-drop-database : 该选项表示在创建数据库的时候先执行删除数据库操作
–database : 该选项后面跟着要导出的多个数据库,以空格分隔

命令行导出某个数据库的某个表:
mysqldump -u root -p dbName tableName > sqlFilePath

命令行只导出数据库结构,不带数据:
mysqldump -u root -p -d dbName > sqlFilePath
-d : 只备份结构,不备份数据。也可以使用”–no-data”代替”-d”,效果一样。

ALTER TABLE admin_user RENAMETO a_user

09

windows CMD命令行备份MySQL数据库

备份数据库

TIM20180209195654

1、cmd进入mysql安装目录下的bin文件夹;

2、输入命令:

3、然后输入数据数据库密码。

4、备份完成。

恢复(还原)数据库

1、将要导入的.sql文件移至mysql安装目录下的bin文件下,这样的路径比较方便(当然如果不这么做的话,使用绝对路径)
2、CMD进入mysql安装目录下的bin文件夹
3、进入MySQL:mysql -u 用户名 -p
如我输入的命令行:mysql -u root -p   (输入同样后会让你输入MySQL的密码)
4、在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库
或输入:
4-1、CREATE DATABASE 数据库名;
4-2、 GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON 数据库名.* TO 数据库名@localhost IDENTIFIED BY ‘密码’;
4-3、 SET PASSWORD FOR
‘数据库名’@'localhost’ = OLD_PASSWORD(‘密码’);
依次执行3个命令完成数据库创建。注意:中文 “密码”和“数据库名”是户自己需要设置的。
5、输入:mysql>use 目标数据库名
如我输入的命令行:mysql>use news;
6,导入文件:mysql>source 导入的文件名;
如我输入的命令行:mysql>source news.sql;

MySQL备份和还原,都是利用mysqldump、mysql和source命令来完成的。

十二 28

MySQL语句:如果存在则更新,不存在则插入新记录

INSERT INTO … ON DUPLICATE KEY UPDATE …

表结构:

该语句是基于唯一索引或主键才可使用的,如下语句:

必要条件:其中字段id或keyword或count,至少有一个字段属性是主键或唯一索引。

语句解释:如果查询主键id=1或者唯一索引keyword=’织梦先生’的记录存在,则更新此记录的count字段 count=count+1;如果没有查询主键id=1或者唯一索引keyword=’织梦先生’的记录都不存在,则插入一行记录。

其它:

假定id=1的记录存在,则下面语句与上面语句是等效的