redis学习笔记

简介

REmote DIctionary Server(Redis) 是一个key-value存储系统。

Redis是一个、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。

它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

Redis 与其他 key - value 缓存产品有以下三个特点:

Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
Redis支持数据的备份,即master-slave模式的数据备份。

安装

redis服务安装:下载地址:https://github.com/dmajkic/redis/downloads
把redis的路径加到系统的环境变量里,这样就省得再输路径了;
在这里插入图片描述
这样
cmd直接输入 redis-server.exe打开服务端;
切换到redis目录下,输入命令 redis-cli,该命令会连接本地的 redis 服务。 在远程 redis 服务上执行命令 redis-cli -h host -p port -a password;

PHP 使用 Redis

环境:windows
确保已经安装了 redis 服务及 PHP redis 驱动,
安装 PHP redis 驱动:下载地址为:https://github.com/nicolasff/phpredis
(对不起,我实在康不懂这部分,呜呜呜~哇哇哇,太难过了)

查看php版本信息
在这里插入图片描述

其中,最主要的是Architecture,跟电脑的系统位数无关

下载php redis扩展包
添加链接描述页面中下载对应的redis扩展包文件,需注意后面的x86必须跟php信息中的architecture一致

\微信截图_20190704115641.png

复制拷贝扩展文件
下载完后解压并复制目录下的php_redis.dll和php_redis.pdb文件

然后将文件粘贴到对应php版本安装目录下的ext文件夹下

在php.ini文件中加入
extension=php_redis.dll
参考:
window10 php如何安装redis扩展
Windows 环境下安装redis 及其PHP Redis扩展

我不知道按照官方给的方法该怎么安装扩展,呜呜呜,就是下面这样,不知道该怎么解决,以后再补充趴
在这里插入图片描述
在这里插入图片描述
报错:
在这里插入图片描述
解决要将redis服务器打开后, 再试试redis测试语句。

key的设计

在这里插入图片描述

基础实例

$redis = new Redis();

2     //连接redis服务器

3     $redis->connect('127.0.0.1', '6379');

4 

5 

6     $key = "key";

7     $val = "val";

8 

9     //redis key操作

10     $redis->exists($key);           //判断key值是否存在

11     $redis->expire($key, 10);       //设置key在10秒后过期

12

13     //redis string 字符串

14     $redis->set($key, $val);

15     $redis->incr($key);         //key值+1,除非val是整数,否则函数执行失败

16     $redis->decr($key);         //key值-1,同上

17     $redis->append($key, "ue"); //追加key值内容

18     $redis->strlen($key);       //返回key值的长度

19

20     //当第一次设置key值后,key值的数据类型就不能改变了。

21     $redis->del($key);  //删除key值

22

23     //redis hash 哈希

24     $redis->hset($key, 'field1', 'val1');   //设置一个key-value键值对

25     $redis->hmset($key, array('field2'=>'val2', 'field3'=>'val3'));    //设置多个k-v键值对26     $redis->hget($key, 'field2');           //获取hash其中的一个键值

27     $redis->hmget($key, array('field2', 'field1'));    //获取hash的多个键值

28     $redis->hgetall($key);  //获取hash中所有的键值对

29     $redis->hlen($key);     //获取hash中键值对的个数

30     $redis->hkeys($key);   //获取hash中所有的键

31     $redis->hvals($key);    //获取hash中所有的值

32     $redis->del($key);  //删除key值

33

34     //redis list 列表

35     $index = $start = 0;

36     $redis->lpush($key, 'val1', 'val2');    //在list的开头添加多个值

37     $redis->lpop($key); //移除并获取list的第一个元素

38     $redis->rpop($key); //移除并获取list的最后一个元素

39     $stop = $redis->llen($key) - 1; //获取list的长度

40     $redis->lindex($key, $index);   //通过索引获取list元素

41     $redis->lrange($key, $start, $stop);    //获取指定范围内的元素

42

43     $redis->del($key);

44

45     //redis set 无序集合

46     $redis->sadd($key, 'val1', 'val2'); //向集合中添加多个元素

47     $redis->scard($key);    //获取集合元素个数

48     $redis->spop($key); //移除并获取集合内随机一个元素

49     $redis->srem($key, 'val1', 'val2'); //移除集合的多个元素

50     $redis->sismember($key, 'val1');    //判断元素是否存在于集合内

51

52     $redis->del($key);

53     //redis sorted set 有序集合

54     //有序集合里的元素都和一个分数score关联,就靠这个分数score对元素进行排序

55     $redis->zadd($key, $score1, $val1, $score2, $val2); //向集合内添加多个元素

56     $redis->zcard($key);    //获取集合内元素总数

57     $redis->zcount($key, $minScore, $maxScore); //获取集合内分类范围内的元素

58     $redis->zrem($key, $member1, $member2); //移除集合内多个元素
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值