Basic operation method of redis
1 redis connection:
//实例化redis $redis = new Redis(); //连接 $redis->connect('127.0.0.1', 6379); //检测是否连接成功 echo "Server is running: " . $redis->ping(); // 输出结果 Server is running: +PONG
2 redis operation Strng (Character String):
// 设置一个字符串的值 $redis->set('cat', 111); //获取一个字符串的值 echo $redis->get('cat'); // 111 // 重复set $redis->set('cat', 222); echo $redis->get('cat'); // 222
3 redis operation List (list):
//存储数据到列表中 $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>'; // Array ( [0] => css [1] => html )
4 redis operation Hash (dictionary):
<?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 operation Set (set):
<?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 operation Sorted Set (ordered set):
<?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 ) //结果
Related recommendations: "PHP Tutorial" "Redis Tutorial"
The above is the detailed content of Basic methods of operating Redis with PHP. For more information, please follow other related articles on the PHP Chinese website!

ThesecrettokeepingaPHP-poweredwebsiterunningsmoothlyunderheavyloadinvolvesseveralkeystrategies:1)ImplementopcodecachingwithOPcachetoreducescriptexecutiontime,2)UsedatabasequerycachingwithRedistolessendatabaseload,3)LeverageCDNslikeCloudflareforservin

You should care about DependencyInjection(DI) because it makes your code clearer and easier to maintain. 1) DI makes it more modular by decoupling classes, 2) improves the convenience of testing and code flexibility, 3) Use DI containers to manage complex dependencies, but pay attention to performance impact and circular dependencies, 4) The best practice is to rely on abstract interfaces to achieve loose coupling.

Yes,optimizingaPHPapplicationispossibleandessential.1)ImplementcachingusingAPCutoreducedatabaseload.2)Optimizedatabaseswithindexing,efficientqueries,andconnectionpooling.3)Enhancecodewithbuilt-infunctions,avoidingglobalvariables,andusingopcodecaching

ThekeystrategiestosignificantlyboostPHPapplicationperformanceare:1)UseopcodecachinglikeOPcachetoreduceexecutiontime,2)Optimizedatabaseinteractionswithpreparedstatementsandproperindexing,3)ConfigurewebserverslikeNginxwithPHP-FPMforbetterperformance,4)

APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SublimeText3 Chinese version
Chinese version, very easy to use

WebStorm Mac version
Useful JavaScript development tools

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver Mac version
Visual web development tools
