redis 的基本操作方法


1.redis 的连接 :

1
2
3
4
5
6
//实例化redis
$redis  new  Redis();
//连接
  $redis ->connect( '127.0.0.1' , 6379);
//检测是否连接成功
echo  "Server is running: "  $redis ->ping();

  

2.redis 操作 Strng (字符串):

1
2
3
4
5
6
7
// 设置一个字符串的值
$redis ->set( 'cat' , 111);
//获取一个字符串的值
echo  $redis ->get( 'cat' );  // 111
// 重复set
$redis ->set( 'cat' , 222);
echo  $redis ->get( 'cat' );  // 222

  

3.redis 操作 List (列表):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//存储数据到列表中
$redis ->lpush( 'list' 'html' );
$redis ->lpush( 'list' 'css' );
$redis ->lpush( 'list' 'php' );
//获取列表中所有的值
$list  $redis ->lrange( 'list' , 0, -1);
print_r( $list ); echo  '<br>' ;
// Array ( [0] => php [1] => css [2] => html )
//从右侧加入一个
$redis ->rpush( 'list' 'mysql' );
$list  $redis ->lrange( 'list' , 0, -1);
print_r( $list ); echo  '<br>' ;
// Array ( [0] => php [1] => css [2] => html [3] => mysql )
//从左侧弹出一个
$redis ->lpop( 'list' );
$list  $redis ->lrange( 'list' , 0, -1);
print_r( $list ); echo  '<br>' ;
// Array ( [0] => css [1] => html [2] => mysql )
//从右侧弹出一个
$redis ->rpop( 'list' );
$list  $redis ->lrange( 'list' , 0, -1);
print_r( $list ); echo  '<br>' ;

  

 

4.redis 操作 Hash (字典):

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
<?php
//实例化redis
$redis  new  Redis();
//连接
$redis ->connect( '127.0.0.1' , 6379);
//字典
//给hash表中某个key设置value
//如果没有则设置成功,返回1,如果存在会替换原有的值,返回0,失败返回0
echo  $redis ->hset( 'hash' 'cat' 'cat' ); echo  '<br>' ;    // 1
echo  $redis ->hset( 'hash' 'cat' 'cat' ); echo  '<br>' ;    // 0
echo  $redis ->hset( 'hash' 'cat' 'cat1' ); echo  '<br>' ;    // 0
echo  $redis ->hset( 'hash' 'dog' 'dog' ); echo  '<br>' ;    // 1
echo  $redis ->hset( 'hash' 'bird' 'bird' ); echo  '<br>' ;    // 1
echo  $redis ->hset( 'hash' 'monkey' 'monkey' ); echo  '<br>' ;    // 1
//获取hash中某个key的值
echo  $redis ->hget( 'hash' 'cat' ); echo  '<br>' ;   // cat1
//获取hash中所有的keys
$arr  $redis ->hkeys( 'hash' );
print_r( $arr ); echo  '<br>' ;
// Array ( [0] => cat [1] => dog [2] => bird [3] => monkey )
//获取hash中所有的值 顺序是随机的
$arr  $redis ->hvals( 'hash' );
print_r( $arr ); echo  '<br>' ;
  // Array ( [0] => cat1 [1] => dog [2] => bird [3] => monkey )
//获取一个hash中所有的key和value 顺序是随机的
$arr  $redis ->hgetall( 'hash' );
print_r( $arr ); echo  '<br>' ;
  // Array ( [cat] => cat1 [dog] => dog [bird] => bird [monkey] => monkey )
//获取hash中key的数量
echo  $redis ->hlen( 'hash' ); echo  '<br>' ;
  // 4
//删除hash中一个key 如果表不存在或key不存在则返回false
echo  $redis ->hdel( 'hash' 'dog' ); echo  '<br>' ;
var_dump( $redis ->hdel( 'hash' 'rabbit' )); echo  '<br>' ;
// 1
// int(0)

  

5.redis 操作 Set (集合):

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
<?php
//实例化redis
$redis  new  Redis();
//连接
$redis ->connect( '127.0.0.1' , 6379);
//集合
// 添加一个元素
echo  $redis ->sadd( 'set' 'cat' ); echo  '<br>' ;          // 1
echo  $redis ->sadd( 'set' 'cat' ); echo  '<br>' ;          // 0
echo  $redis ->sadd( 'set' 'dog' ); echo  '<br>' ;         // 1
echo  $redis ->sadd( 'set' 'rabbit' ); echo  '<br>' ;      // 1
echo  $redis ->sadd( 'set' 'bear' ); echo  '<br>' ;       // 1
echo  $redis ->sadd( 'set' 'horse' ); echo  '<br>' ;     // 1
// 查看集合中所有的元素
$set  $redis ->smembers( 'set' );
print_r( $set ); echo  '<br>' ;
// Array ( [0] => rabbit [1] => cat [2] => bear [3] => dog [4] => horse )
//删除集合中的value
echo  $redis ->srem( 'set' 'cat' ); echo  '<br>' ;     // 1
var_dump( $redis ->srem( 'set' 'bird' )); echo  '<br>' ;      // int(0)
$set  $redis ->smembers( 'set' );
print_r( $set ); echo  '<br>' ;
// Array ( [0] => dog [1] => rabbit [2] => horse [3] => bear )
//判断元素是否是set的成员
var_dump( $redis ->sismember( 'set' 'dog' )); echo  '<br>' ;      // bool(true)
var_dump( $redis ->sismember( 'set' 'bird' )); echo  '<br>' ;     // bool(false)
//查看集合中成员的数量
echo  $redis ->scard( 'set' ); echo  '<br>' ;     // 4
//移除并返回集合中的一个随机元素(返回被移除的元素)
echo  $redis ->spop( 'set' ); echo  '<br>' ;   // bear
print_r( $redis ->smembers( 'set' )); echo  '<br>'
  // Array ( [0] => dog [1] => rabbit [2] => horse )
<?php
//实例化redis
$redis  new  Redis();
//连接
$redis ->connect( '127.0.0.1' , 6379);
//集合
$redis ->sadd( 'set' 'horse' );
$redis ->sadd( 'set' 'cat' );
$redis ->sadd( 'set' 'dog' );
$redis ->sadd( 'set' 'bird' );
$redis ->sadd( 'set2' 'fish' );
$redis ->sadd( 'set2' 'dog' );
$redis ->sadd( 'set2' 'bird' );
print_r( $redis ->smembers( 'set' )); echo  '<br>' ;
  // Array ( [0] => cat [1] => dog [2] => bird [3] => horse )
print_r( $redis ->smembers( 'set2' )); echo  '<br>' ;
// Array ( [0] => bird [1] => dog [2] => fish )
//返回集合的交集
print_r( $redis ->sinter( 'set' 'set2' )); echo  '<br>' ;
// Array ( [0] => dog [1] => bird )
//执行交集操作 并结果放到一个集合中
$redis ->sinterstore( 'output' 'set' 'set2' );
print_r( $redis ->smembers( 'output' )); echo  '<br>' ;
// Array ( [0] => dog [1] => bird )
//返回集合的并集
print_r( $redis ->sunion( 'set' 'set2' )); echo  '<br>' ;
// Array ( [0] => cat [1] => dog [2] => bird [3] => horse [4] => fish )
//执行并集操作 并结果放到一个集合中
$redis ->sunionstore( 'output' 'set' 'set2' );
print_r( $redis ->smembers( 'output' )); echo  '<br>' ;
  // Array ( [0] => cat [1] => dog [2] => bird [3] => horse [4] => fish )
//返回集合的差集
print_r( $redis ->sdiff( 'set' 'set2' )); echo  '<br>' ;
// Array ( [0] => horse [1] => cat )
//执行差集操作 并结果放到一个集合中
$redis ->sdiffstore( 'output' 'set' 'set2' );
print_r( $redis ->smembers( 'output' )); echo  '<br>' ;
// Array ( [0] => horse [1] => cat )

  

6.redis 操作 Sorted Set (有序集合):

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
<?php
//实例化redis
$redis  new  Redis();
//连接
$redis ->connect( '127.0.0.1' , 6379);
//有序集合
//添加元素 分数
echo  $redis ->zadd( 'set' , 1,  'cat' ); echo  '<br>' ;       // 1
echo  $redis ->zadd( 'set' , 2,  'dog' ); echo  '<br>' ;     // 1
echo  $redis ->zadd( 'set' , 3,  'fish' ); echo  '<br>' ;     // 1
echo  $redis ->zadd( 'set' , 4,  'dog' ); echo  '<br>' ;     // 0
echo  $redis ->zadd( 'set' , 4,  'bird' ); echo  '<br>' ;     // 1
//返回集合中的所有元素
print_r( $redis ->zrange( 'set' , 0, -1)); echo  '<br>' ;
// Array ( [0] => cat [1] => fish [2] => bird [3] => dog )
print_r( $redis ->zrange( 'set' , 0, -1, true)); echo  '<br>' ;
// Array ( [cat] => 1 [fish] => 3 [bird] => 4 [dog] => 4 )
//返回元素的score值
echo  $redis ->zscore( 'set' 'dog' ); echo  '<br>' ;
// 4
//返回存储的个数
echo  $redis ->zcard( 'set' ); echo  '<br>' ;
// 4
//删除指定成员
$redis ->zrem( 'set' 'cat' );
print_r( $redis ->zrange( 'set' , 0, -1)); echo  '<br>' ;
// Array ( [0] => fish [1] => bird [2] => dog )
//返回集合中介于min和max之间的值的个数
print_r( $redis ->zcount( 'set' , 3, 5)); echo  '<br>' ;
// 3
//返回有序集合中score介于min和max之间的值
print_r( $redis ->zrangebyscore( 'set' , 3, 5)); echo  '<br>' ;
  // Array ( [0] => fish [1] => bird [2] => dog )
print_r( $redis ->zrangebyscore( 'set' , 3, 5, [ 'withscores' =>true])); echo  '<br>' ;
  // Array ( [fish] => 3 [bird] => 4 [dog] => 4 )
//返回集合中指定区间内所有的值 倒叙
print_r( $redis ->zrevrange( 'set' , 1, 2)); echo  '<br>' ;
  // Array ( [0] => bird [1] => fish )
print_r( $redis ->zrevrange( 'set' , 1, 2, true)); echo  '<br>' ;
// Array ( [bird] => 4 [fish] => 3 )
//有序集合中指定值的socre增加
echo  $redis ->zscore( 'set' 'dog' ); echo  '<br>' ;
  // 4
$redis ->zincrby( 'set' , 2,  'dog' );
echo  $redis ->zscore( 'set' 'dog' ); echo  '<br>' ;
// 6
//移除score值介于min和max之间的元素
print_r( $redis ->zrange( 'set' , 0, -1, true)); echo  '<br>' ;
// Array ( [fish] => 3 [bird] => 4 [dog] => 6 )
print_r( $redis ->zremrangebyscore( 'set' , 3, 4)); echo  '<br>' ;
  // 2
print_r( $redis ->zrange( 'set' , 0, -1, true)); echo  '<br>' ;
  // Array ( [dog] => 6 )
//结果

  

转载地址:https://www.cnblogs.com/heyue0117/p/13792355.html

 
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM