当前第2页 返回上一页
基于SCAN的这种安全性,建议大家在生产环境都使用SCAN命令来代替KEYS,不过注意,该命令是在2.8.0版本之后加入的,如果你的Redis低于这个版本,则需要升级Redis。
下面用PHP代码演示SCAN命令的使用:
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 | <?php
$redis = new Redis();
$redis ->connect( '127.0.0.1' , 6379);
$redis ->setOption(Redis::OPT_SCAN, Redis::SCAN_NORETRY);
$it = NULL;
$pattern = '*' ;
$count = 50;
do
{
$keysArr = $redis ->scan( $it , $pattern , $count );
if ( $keysArr )
{
foreach ( $keysArr as $key )
{
echo $key . "\n" ;
}
}
} while ( $it > 0);
echo '---------------------------------------------------------------------------------' . "\n" ;
$redis ->setOption(Redis::OPT_SCAN, Redis::SCAN_RETRY);
$it = NULL;
$pattern = '*' ;
$count = 50;
while ( $keysArr = $redis ->scan( $it , $pattern , $count ))
{
foreach ( $keysArr as $key )
{
echo $key . "\n" ;
}
}
|
执行结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | [root@localhost php]# /usr/local/php/bin/php scan.php
bm
bm2
h1
name
bit
bm1
places
cities
hhl
---------------------------------------------------------------------------------
bm
bm2
h1
name
bit
bm1
places
cities
hhl
|
注意:如果php执行报错 请升级到较新版本的Redis扩展。
更多redis知识请关注redis入门教程栏目。
以上就是redis遍历所有key的方法的详细内容,更多文章请关注木庄网络博客!
返回前面的内容
相关阅读 >>
黑马云课堂nosql之Redis技术视频源码课件分享
Redis中的双端链表实现
Redis能存多少个key
Redis如何实现扩容
Redis为什么性能好
Redis多数据库的使用
Redis添加systemctl服务的具体步骤
麦子学院深入浅出 Redis 视频资料分享
Redis的两种安装部署方式(图文详解)
Redis高频面试题(附答案分析)
更多相关阅读请进入《Redis》频道 >>
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » redis遍历所有key的方法