##项目环境背景: 公司的关于销售排行的数据已经达到了2千多万条,在查询数据库须要等待的时间增加。所以想优化查询速度。 ####1.合理创建索引 根据表的设计,合理创建相关的索引,由于涉及到一些公司机密,这里不方便写太多,有兴趣的童鞋能够自行搜索资料。 ####2.合理分表 根据业务需求进行合理分表,将不经常使用到的的数据分到另一张表,例如将每三个季度或者1年为一个周期。若是数据涉及到了好几年前,能够把几年前的数据放到另一个数据库维护。把专一度放在近期。 ####3.缓存技术 能够把一些常常会查询的数据作一些缓存。 本次采用redis ,高性能key-value 数据库。 缘由:php
性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。git
丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操做。github
原子 – Redis的全部操做都是原子性的,同时Redis还支持对几个操做全并后的原子性执行。redis
丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过时等等特性。sql
本次是利用php连接redis 进行实际的例子。 1.到github找到相关版本号的phpredis https://github.com/phpredis/phpredis/releases数据库
将相关的php插件放到相关的ext 路径下。windows
2.查看插件是否配置成功 成功例子: 缓存
3.启动redisbash
1.运行 redis-server.exe redis.windows.conf性能
2.另外启动一个命令窗口,redis-cli
3.编写php连接redis
代码:
<?php
//connect redis
// $redis =new Redis();
// $redis->connect('127.0.0.1',6379);
// echo "Connect to server sucessfully<br>";
// echo "Server is running : ".$redis->ping();
//链接本地的 Redis 服务
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "Connection to server sucessfully<hr>";
//存储数据到列表中
// $redis->lpush("tutorial-list", "Redis");
// $redis->lpush("tutorial-list", "Mongodb");
// $redis->lpush("tutorial-list", "Mysql");
// 获取存储的数据并输出
$arList = $redis->lrange("tutorial-list", 0 ,50);
echo "Stored string in redis";
print_r($arList);
?>
复制代码
redis简单set 数据php方式:
<?php
//链接本地的 Redis 服务
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->set('cc',31);
if ($redis) {
echo "success";
}
?>
复制代码
redis 简单get数据 php方式
<?php
//链接本地的 Redis 服务
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo $redis->get('cc');
?>
复制代码
通过php得到的数据。