Some ways to use Redis in PHP

小云云
Release: 2023-03-20 17:42:01
Original
2208 people have browsed it

Redis has great advantages for program developers. Learning these key knowledges will definitely improve our abilities. This article mainly shares with you some methods of using Redis in PHP, hoping to help everyone.

①. Data type

  • First we need to understand it based on the 7 data types provided by Redis, namely String, Hash, List, Set, Sorted Set, Pub/Sub, and Transactions

②. Related understanding of single thread:

Some ways to use Redis in PHP

③. Transactions Transactions

  • We generally think that NoSQL databases do not have transactions, I am afraid we will disappoint you. Redis supports transactions, but they are not transactions in our general sense. If you execute the exec command and the power is cut off or the server hangs up on the way, we will still find that part of it is inserted in Redis and part of it is not.

  • However, Redis provides the WATCH command. We can watch a certain key and then execute Transactions. If the value of the Watch is modified, the Transactions will find out and refuse to execute.

Commonly used commands include MULTI, EXEC, and DISCARD.

MULTI:标记一个事务块的开始;
EXEC:执行所有事务块内的命令;
DISCARD:取消事务,放弃执行事务块内的所有命令;
UNWATCH:取消 WATCH 命令对所有 key 的监视;
WATCH key:监视 key,如果在事务执行之前 key 被其他命令所改动,那么事务将被打断
Copy after login
  • Redis As a database, many developers can also use it alone. In fact, more often than not, Redis is used as a middleware between the database and the code. If you find that there is a bottleneck in your current database, then you can optimize it through Redis

♬ For code usage

  • , you can refer to the video - [php operation redis]

  • Personal simple code:

 $redis = new \Redis(); $redis->pconnect('192.168.236.131', '6379'); #连接redis服务
 $redis->set('say','moTzxx say hello !');
 //echo $redis->get('say'); $redis->delete('myname'); $redis->set('myname','moTzxx'); echo $redis->get('myname').'<br>'; # 返回:moTzxx

 var_dump($redis->del('myname'));# 返回 TRUE(1)
 var_dump($redis->get('myname')); # 返回 bool(false)

 //$redis->set('tag',10); $redis->delete('tag'); $redis->incr('tag');
 //$redis->incrBy('tag',3);
 var_dump($redis->get('tag')); echo '<hr>'; $redis->delete('list1'); $redis->lPush('list1','hello'); $redis->rPush('list1','miss');
 var_dump($redis->rPop('list1')); #string(4) "miss"
 echo '<hr>'; $redis->delete('set1'); $redis->sAdd('set1','a'); $redis->sAdd('set1',2); $redis->sAdd('set1','ok'); $redis->sAdd('set1','ok');//TODO 集合的唯一性 $val = $redis->sCard('set1');
 var_dump($val); #int(3)
 $val2 = $redis->sMembers('set1');
 var_dump($val2);#array(3) { [0]=> string(2) "ok" [1]=> string(1) "2" [2]=> string(1) "a" }
 echo '<br>'; $redis->set('key1', 'value', 111);
 var_dump($redis->get('key1')); $redis->getSet('key1','value11');
 var_dump($redis->mget(['tag','key1']));
 var_dump($redis->type('tag')); echo '<hr>'; $redis->delete('driver1'); $redis->hSet("driver1",'name','moTzxx'); $redis->hSet("driver1",'age',12); $redis->hSet('driver1','gender',1); $val = $redis->hGet("driver1",'name');
 var_dump($val);#string(6) "moTzxx"
 $val = $redis->hMGet("driver1",['name','gender']);
 var_dump($val); #array(2) { ["name"]=> string(6) "moTzxx" ["gender"]=> string(1) "1" }
 echo '<hr>'; $redis->delete('pats'); $redis->zAdd('pats',1,'cat1');  # 构建一个zset (sorted set) // int(1)
 $redis->zAdd('pats',3,'dog3'); $redis->zAdd('pats',2,'monkey2'); $redis->zAdd('pats',2,'pig2'); $val = $redis->zRange('pats',0,-1); #从低到高
 var_dump($val); //array(4) { [0]=> string(4) "cat1" [1]=> string(7) "monkey2" [2]=> string(4) "pig2" [3]=> string(4) "dog3" } $val2 = $redis->zRevRange('pats',0,-1); #从高到低
 var_dump($val2);//array(4) { [0]=> string(4) "dog3" [1]=> string(4) "pig2" [2]=> string(7) "monkey2" [3]=> string(4) "cat1" }
 var_dump($redis->TYPE('pats')); //zset / int(4)
Copy after login
  • Execution effect screenshot:

♬ Extension

①. Comparison of four NoSQL databases:

②. Usage scenarios of rpoplpush

##Related recommendations:

How to operate Redis with PHP Example sharing

PHP installation redis extension example under Windows

PHP using Redis example explanation

The above is the detailed content of Some ways to use Redis in PHP. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template