
phpredis是redis的php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系
很有用;以下是redis官方提供的命令使用技巧:
下载地址如下:
https://github.com/owlient/phpredis(支持redis 2.0.4)
Redis::__construct构造函数
$redis = new Redis();
connect, open 链接redis服务
参数
host: string,服务地址
port: int,端口号
timeout: float,链接时长 (可选, 默认为 0 ,不限链接时间)
注: 在redis.conf中也有时间,默认为300
pconnect, popen 不会主动关闭的链接
参考上面
setOption 设置redis模式
getOption ......

Redis安装:
下载地址:https://github.com/dmajkic/redis/downloads,请根据系统版本选择相应下载
解压下载文件,运行redis-server.exe即可开启redis服务端(不要关闭窗口,关闭窗口无法访问服务端)
php扩展redis:
1 首先,查看所用php编译版本V6/V9 在phpinfo()中查看
2 下载扩展 地址:https://github.com/phpredis/phpredis/downloads(注意所支持的php版本,VC及TS字样)
3 将下载的php_redis.dll,php_igbinary.dll放在php扩展目录中(ext),并修改配置文件php.ini
添加 扩展
extension=php_igbinary.dll
extension=php_re......

问题:
执行如下更新时产生死锁
UPDATE contactlist SET name=’xxx’ WHERE userid=’1′ AND contact_id=’90’
报Deadlock found when trying to get lock; try restarting transaction
其中userid和c_contact_id都有索引,但不是主索引。
解决方式:
先通过userid=’1′ AND contact_id=’90’取得主键,再用主键更新。
注:
在采用INNODB的MySQL中,更新操作默认会加行级锁,行级锁是基于索引的,在分析死锁之前需要查询一下mysql的执行计划,看看是否用到了索引,用到了哪......
作者: owoer
|
发表于:2016年3月23日
|
栏目:MySQL
|
mysql死锁-非主键索引更新引起的Deadlock已关闭评论
阅读全文

方式1:
insert into on dumplicate key update
例如,如果列 a 为 主键 或 拥有UNIQUE索引,并且包含值1,则以下两个语句具有相同的效果:
代码如下:
INSERT INTO TABLE (a,c) VALUES (1,3) ON DUPLICATE KEY UPDATE c=c+1;
UPDATE TABLE SET c=c+1 WHERE a=1;
方式2:replace into
replace into 有三种形式:
1. replace into tbl_name(col_name, …) values(…)
2. replace into tbl_name(col_name, …) select …
3. replace into tbl_name set col_name=value, …
第一种形式类似于insert into的用法......
作者: owoer
|
发表于:2016年3月21日
|
栏目:MySQL
|
MySQL 重复插入时更新 insert into on dumplicate key update /replace into已关闭评论
阅读全文

1、在内层语句首设置set d1=d;,尾设置set d=d1;
避免内查询NOT FOUND时d被设置为1从而退出外循环。
2、将内部语句包含在新的begin…end中
设置DECLARE CONTINUE HANDLER FOR NOT FOUND SET d = 0;
内部查询NOT FOUND时d值仍为0,继续外循环。
eg:
begin
DECLARE d int DEFAULT 0;
declare vid int;
declare vserver_contact_id int;
declare vpersonalemail varchar(100);
declare vmobilenum varchar(32);
DECLARE vuserid int(11) default 0;
declare d1 int;
declare cur CURSOR for
select id,server_contac......
作者: owoer
|
发表于:2016年3月18日
|
栏目:MySQL
|
mysql存储过程游标(嵌套语句互不影响)已关闭评论
阅读全文