随笔 - 34  文章 - 0 评论 - 270 阅读 - 15万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

安装

1.一定要搞懂自己php的版本,和环境,今天试一上午,就是因为X86,而我的php环境是X64.

2. 将下载的php_redis.dll和php_igbinary.dll放在php扩展目录中(ext),并修改配置文件php.ini

extension=php_igbinary.dll
extension=php_redis.dll

3.重新启动服务

常用操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?php
//PHP操作redis
/*链接redis*/
$redis = new redis(); 
$result = $redis->connect('127.0.0.1', 6379); 
 
/*set 设置 key的值*/
$result = $redis->set('key',"abc"); 
 
/*get 获取key的值*/
$result = $redis->get('key'); 
var_dump($result);  //string 'abc' (length=3)
 
/*delete 删除指定的key*/
$redis->set('test',"123456");
$redis->delete('test');   
var_dump($redis->get('test')); //boolean false
 
/*setnx 如果数据库中不存在key键,生成key键*/
$redis->setnx('test2',"22222222"); 
var_dump($redis->get('test2')); //string '22222222' (length=8)
 
/*exists 验证key是否存在*/
var_dump($redis->exists('test2')); //boolean true
 
/*incr 递增数据*/
$redis->set('test',"123"); 
var_dump($redis->incr("test")); //int 124
 
/*decr 递减数据*/
var_dump($redis->decr("test")); //int 123
 
/*getMultiple 给参数数组赋值*/
$redis->set('test1',"1"); 
$redis->set('test2',"2"); 
var_dump($redis->getMultiple(array('test1','test2')));    //array (size=2) 0 => string '1' (length=1)   1 => string '2' (length=1)
 
/*lpush 由列表头部添加字符串值。如果不存在该键则创建该列表*/
$redis->delete('test'); 
var_dump($redis->lpush("test","111"));   //结果:int(1) 
var_dump($redis->lpush("test","abc"));   //结果:int(2) 
 
/*rpush 由列表尾部添加字符串值。如果不存在该键则创建该列表。*/
var_dump($redis->rpush("test","333"));   //结果:int(3) 
var_dump($redis->rpush("test","444"));   //结果:int(4) 
 
/*lpop 返回和移除列表的第一个元素*/
var_dump($redis->lpop("test")); //string 'abc' (length=3)
 
/*lsize,llen 返回的列表的长度。如果列表不存在或为空,该命令返回0。如果该键不是列表,该命令返回FALSE。*/
var_dump($redis->lsize("test"));  //int 3
 
/*lget 返回指定键存储在列表中指定的元素。 0第一个元素,1第二个… -1最后一个元素,-2的倒数第二*/
var_dump($redis->lget("test",0)); //string '111' (length=3)
 
/*lset 为列表指定的索引赋新的值*/
var_dump($redis->lset("test",0,"333")); //boolean true
 
/*lgetrange 返回在该区域中的指定键列表中开始到结束存储的指定元素*/
print_r($redis->lgetrange("test",0,-1));  // Array ( [0] => 333 [1] => 333 [2] => 444 )
 
/*lremove 从列表中从头部开始移除count个匹配的值。 key count*/
var_dump($redis->lremove('test','333',1));
print_r($redis->lgetrange('test', 0, -1)); // Array ( [0] => 333 [1] => 444 )
 
/*sadd 为一个Key添加一个值。如果这个值已经在这个Key中,则返回FALSE。*/
var_dump($redis->sadd('bigtest','111'));
var_dump($redis->sadd('bigtest','333'));
print_r($redis->sort('bigtest')); //Array ( [0] => 111 [1] => 333 )
 
/*sremove 删除Key中指定的value值*/
$redis->sremove('bigtest','111'); 
print_r($redis->sort('bigtest')); //Array ( [0] => 333 )
 
/*smove 将Key1中的value移动到Key2中*/
$redis->delete('test'); 
$redis->delete('test1'); 
$redis->sadd('test','111'); 
$redis->sadd('test','333'); 
$redis->sadd('test1','222'); 
$redis->sadd('test1','444'); 
$redis->smove('test',"test1",'111'); 
print_r($redis->sort('test1')); //Array ( [0] => 111 [1] => 222 [2] => 444 )
 
/*scontains 检查集合中是否存在指定的值*/
var_dump($redis->scontains('test1', '111'));  //boolean true
 
/*ssize 返回集合中存储值的数量*/
echo $redis->ssize('test1');   //3
 
/*spop 随机移除并返回key中的一个值*/
var_dump($redis->spop("test1"));
 
/*sinter 返回一个所有指定键的交集。*/
var_dump($redis->sinter("test","test1")); //empty
 
/*sinterstore 把结果储存到新建的变量中*/
var_dump($redis->sinterstore('new',"test","test1"));
 
/*sunion 返回一个所有指定键的并集*/
print_r($redis->sunion("test","test1"));
 
/*sunionstore 把结果储存到新建的变量中*/
var_dump($redis->sunionstore('new',"test","test1"));  //int 3
 
/*sdiff 返回第一个集合中存在并在其他所有集合中不存在的结果*/
print_r($redis->sdiff("test","test1")); //Array ( [0] => 333 )
 
/*sdiffstore 执行sdiff命令并把结果储存到新建的变量中*/
var_dump($redis->sdiffstore('new',"test","test1")); //int 1
 
/*smembers, sgetmembers 返回集合的内容*/
print_r($redis->smembers('test1')); //Array ( [0] => 111 [1] => 444 )
 
?>

  

 

posted on   peiyu1988  阅读(302)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示