Window 下安装
下载地址:https://github.com/MSOpenTech/redis/releases。
Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis。
打开文件夹,内容如下: Continue reading
下载地址:https://github.com/MSOpenTech/redis/releases。
Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis。
打开文件夹,内容如下: Continue reading
记录下php+redis实现商城秒杀功能。
1,安装redis,根据自己的php版本安装对应的redis扩展(此步骤简单的描述一下)
1.1,安装 php_igbinary.dll,php_redis.dll扩展此处需要注意你的php版本如图:
1.2,php.ini文件新增 extension=php_igbinary.dll;extension=php_redis.dll两处扩展
ok此处已经完成第一步redis环境搭建完成看看phpinfo Continue reading
背景:redis这个新产品在sns时很火,而memcache早就存在, 但redis提供出来的功能,好多网站均把它当memcache使用,这是大才小用,这儿有30个方法来使用redis,值得了解。
这篇文章主要介绍了30个php操作redis常用方法代码例子,本文其实不止30个方法,可以操作string类型、list类型和set类型的数据,需要的朋友可以参考下
redis的操作很多的,以前看到一个比较全的博客,但是现在找不到了。查个东西搜半天,下面整理一下php处理redis的例子,个人觉得常用一些例子。下面的例子都是基于php-redis这个扩展的。 Continue reading
mysql数据库查重、去重
0 |
SELECT COUNT(*),`name`,`data` FROM `setting` GROUP BY `name` HAVING count(*) > 1; |
结果: Continue reading
1130 - Host '127.0.0.1' is not allowed to connect to this MySQL server
解决办法:
使用root身份导入数据。
关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键
比如
学生表(学号,姓名,性别,班级)
其中每个学生的学号是唯一的,学号就是一个主键
课程表(课程编号,课程名,学分)
其中课程编号是唯一的,课程编号就是一个主键
成绩表(学号,课程号,成绩)
成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记录,所以 学号和课程号的属性组是一个主键
成绩表中的学号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键
同理 成绩表中的课程号是课程表的外键 Continue reading
mysql索引类型normal,unique,full text的区别是什么?
normal:表示普通索引
unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为unique
full textl: 表示 全文搜索的索引。 FULLTEXT 用于搜索很长一篇文章的时候,效果最好。用在比较短的文本,如果就一两行字的,普通的 INDEX 也可以。
总结,索引的类别由建立索引的字段内容特性来决定,通常normal最常见。 Continue reading
登录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
备份数据库
1、cmd进入mysql安装目录下的bin文件夹;
2、输入命令:
0 1 |
# 例 mysqldump -u [数据库用户名] -p [数据库名] > [保存的目录及文件名] mysqldump -u root -p databasename > e:\mydata.sql |
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命令来完成的。
INSERT INTO … ON DUPLICATE KEY UPDATE …
表结构:
0 1 2 3 4 5 6 |
CREATE TABLE `mrdede_notfind` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `keyword` varchar(32) NOT NULL COMMENT '查询的关键词', `count` int(6) unsigned DEFAULT NULL COMMENT '计数:被查询的次数', PRIMARY KEY (`id`), UNIQUE KEY `keyword` (`keyword`) ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COMMENT='保存没有查询到的搜索关键词' |
该语句是基于唯一索引或主键才可使用的,如下语句:
必要条件:其中字段id或keyword或count,至少有一个字段属性是主键或唯一索引。
0 |
INSERT INTO `mrdede_notfind` (id,keyword,count) VALUES (1,'织梦先生',3) ON DUPLICATE KEY UPDATE count=count+1; |
语句解释:如果查询主键id=1或者唯一索引keyword=’织梦先生’的记录存在,则更新此记录的count字段 count=count+1;如果没有查询主键id=1或者唯一索引keyword=’织梦先生’的记录都不存在,则插入一行记录。
其它:
假定id=1的记录存在,则下面语句与上面语句是等效的
0 |
UPDATE table SET count=count+1 WHERE id=1 OR keyword='织梦先生'; |