简介
redis 和 memcache 一样,也是一个key-value内存系统
- 支持多种数据类型: string、list、set、zset(有序列表)和hash(哈希类型),比memcache丰富
- 支持的操作: push/pop、add/remove 及取并集 差集 和 交集 及更丰富的操作,而且这些操作都是原子性的。
- 特点: redis 会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在基础上实现了 master-slave(主从)同步。
- redis 是单进程的
- 性能:
1. 测试完成了50个并发执行100000个请求。
2. 设置和获取的值是一个356字节字符串。
3. (测试主机)Linux主机:x3320 Xeon 2.5GHz。
4. 文本执行使用loopback接口(127.0.0.1)。
5. 结果:读的速度是110000次/s,写的速度是81000次/s。
常用的可视化管理工具
Redis Desktop Manager(客户端软件)、treeNMS管理工具(web)
安装 Redis
windows上安装
- 下载redis的windows版本zip版(redis官方没有windows版)
Redis下载地址 - 启动redis:进入cmd,redis-server.exe redis.wondows.conf
- 该方法启动后 cmd 窗口不能关闭
- cmd批处理启动命令:
@echo off start E:\Program\PHP_about\Redis-x64-3.0.504\redis-server.exe start E:\Program\PHP_about\Redis-x64-3.0.504\redis-cli.exe exit
- msi方式:下载windows的msi安装包,安装后redis在windows中将以服务的形式存在
php中安装redis扩展
windows上安装
-
下载reids扩展的windows版本 php redis扩展下载地址
-
将下载解压后的php_redis.dll放入php的ext目录下
-
修改php.ini, 加入
extension=php_redis.dll
-
重启 apeache/nginx
-
使用phpinfo查看redis扩展是否安装成功
redis常用命令
字符串
- keys :返回数据库中所有的key;用法:
keys *
- set:设置/更新缓存的值;用法:SET key value [EX seconds][PX milinseconds]
如:set user_name zhangshan EX 60;
- get:取值;用法:get key
如:get user_name
- incr:自增;用法:incr key
散列类型(每个hash可以存2的32次方 - 1个 键值对,40多亿个)
- hset:为哈希表中的字段赋值;用法:hset hash表名 key value
如:hset website baidu “www.baidu.com”
- hget:从哈希表中取值;用法:hget hash表名 key
如:hget website baidu
- hgetall:返回hash表的所有值,用法:hgetall hash表名
如:hgetall website
队列类型
- lpush:将一个或多个值插入到列表头部;用法:lpush KEY value1… valueN
如:lpush list1 php,java,csharp
- lrange:返回列表中指定区间内的元素;用法:lrange key 0 -1(返回所有)
0代表第0个元素,1代表第1个元素,-1代表最后一个元素
如:127.0.0.1:6379> lrange list1 0 -1 1) "wjh" 2) "php" 3) "php"
- lpop:移除并返回列表的第一个元素;用法:lpop key
如:lpop list1
- lrem:根据参数 COUNT 的值,移除列表中与参数 VALUE 相等的元素
count > 0 : 从表头开始向表尾搜索,移除与 VALUE 相等的元素,数量为 COUNT 。
count < 0 : 从表尾开始向表头搜索,移除与 VALUE 相等的元素,数量为 COUNT 的绝对值。
count = 0 : 移除表中所有与 VALUE 相等的值用法:lrem KEY COUNT VALUE
如:lrem list1 1 java