redis使用的过程中首先需在相应的环境中安装redis服务,windows的话可以安装一个RedisDesktopManager管理工具进行查看管理,然后就是安装对应版本的php环境redis扩展,
扩展安装之后在phpinfo中查看rdis模块是否安装成功,linux也可以用php -m查看扩展模块
具体使用过程中的总结
无论如何使用
1.先创建redis对象$redis = new Redis();
2.连接redis数据服务器$redis->connect('127.0.0.1', 6379);
3.设置key和value的值$redis->set("name", "name_value");
4.删除key值$redis->delete("name");
5. 如果key值和value已经设置过了可以使用$redis->setnx("name");
这样如果已经设置过了就不会再设置了,如果没有设置才会设置
<?php
/**
* Created by PhpStorm.
* User: Mr.丘山
* Date: 2019/3/29
* Time: 10:38
*/
$redis = new Redis();
//连接redis服务器
$redis->connect('127.0.0.1', '6379');
$key = "key";
$val = "val";
//redis key操作
$redis->exists($key); //判断key值是否存在
$redis->expire($key, 10); //设置key在10秒后过期
//redis string 字符串
$redis->set($key, $val);
$redis->incr($key); //key值+1,除非val是整数,否则函数执行失败
$redis->decr($key); //key值-1,同上
$redis->append($key, "ue"); //追加key值内容
$redis->strlen($key); //返回key值的长度
//当第一次设置key值后,key值的数据类型就不能改变了。
$redis->del($key); //删除key值
//redis hash 哈希
$redis->hset($key, 'field1', 'val1'); //设置一个key-value键值对
$redis->hmset($key, array('field2'=>'val2', 'field3'=>'val3')); //设置多个k-v键值对
$redis->hget($key, 'field2'); //获取hash其中的一个键值
$redis->hmget($key, array('field2', 'field1')); //获取hash的多个键值
$redis->hgetall($key); //获取hash中所有的键值对
$redis->hlen($key); //获取hash中键值对的个数
$redis->hkeys($key); //获取hash中所有的键
$redis->hvals($key); //获取hash中所有的值
$redis->del($key); //删除key值
//redis list 列表
$index = $start = 0;
$redis->lpush($key, 'val1', 'val2'); //在list的开头添加多个值
$redis->lpop($key); //移除并获取list的第一个元素
$redis->rpop($key); //移除并获取list的最后一个元素
$stop = $redis->llen($key) - 1; //获取list的长度
$redis->lindex($key, $index); //通过索引获取list元素
$redis->lrange($key, $start, $stop); //获取指定范围内的元素
$redis->del($key);
//redis set 无序集合
$redis->sadd($key, 'val1', 'val2'); //向集合中添加多个元素
$redis->scard($key); //获取集合元素个数
$redis->spop($key); //移除并获取集合内随机一个元素
$redis->srem($key, 'val1', 'val2'); //移除集合的多个元素
$redis->sismember($key, 'val1'); //判断元素是否存在于集合内
$redis->del($key);
//redis sorted set 有序集合
//有序集合里的元素都和一个分数score关联,就靠这个分数score对元素进行排序
$redis->zadd($key, $score1, $val1, $score2, $val2); //向集合内添加多个元素
$redis->zcard($key); //获取集合内元素总数
$redis->zcount($key, $minScore, $maxScore); //获取集合内分类范围内的元素
$redis->zrem($key, $member1, $member2); //移除集合内多个元素