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