php redis有没有办法php 获取redis的值所有redis列表

在 SegmentFault,解决技术问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
一线的工程师、著名开源项目的作者们,都在这里:
获取验证码
已有账号?
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
由于需要定期删除无效的队列,所有有没有办法把当前redis的keys *所有都获取出来。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
可以把所有的 key 都写到一个配置文件中,方便管理,php中可以用 $redis-&keys('*')
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:Redis系列-php怎么通过redis扩展使用redis
1、安装php扩展
a)安装php扩展phpredis:
[root@xsf002 tool]# git clone /nicolasff/phpredis.git phpredis &
[root@xsf002 tool]# cd phpredis/ &
[root@xsf002 phpredis]# /usr/local/php/bin/phpize & #&SPAN style=&TEXT-INDENT: 20px&&假设 php目录:&/SPAN&&SPAN style=&TEXT-INDENT: 20px&&/usr/local/php&/SPAN& &
[root@xsf002 phpredis]# ./configure --with-php-config=/usr/local/php/bin/php-config &
[root@xsf002 phpredis]# make &
[root@xsf002 phpredis]# make install &
[root@xsf002 tool]# git clone /nicolasff/phpredis.git phpredis
[root@xsf002 tool]# cd phpredis/
[root@xsf002 phpredis]# /usr/local/php/bin/phpize & #假设 php目录:/usr/local/php
[root@xsf002 phpredis]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@xsf002 phpredis]# make
[root@xsf002 phpredis]# make install 如果顺利,将得到类似如下提示:&
Installing shared extensions: & & /usr/local/php/lib/php/extensions/no-debug-non-zts-/ &
Installing shared extensions: & & /usr/local/php/lib/php/extensions/no-debug-non-zts-/ php扩展文件目录下,将有个redis.so文件。&
b)加载redis.so
在php.ini 文件中,添加配置:
extension=redis.so &
extension=redis.so重启web服务器,echo phpinfo() ,将看到大致如下显示:
&2、通过扩展访问redis服务器
php如何使用redis服务器存取数据?无非是经过phpredis扩展模块,通过如下几个步骤:
1、实例化redis类 & 【new redis()】
2、调用redis类方法,连接redis服务器 【connect,pconnect】
3、设置连接选项【setOption】
4、存/取数据&
5、关闭连接 【close】
如果使用默认选项,步骤3不需要。请参看下面的代码示例: &
$redis = new Redis(); #实例化redis类 &
$redis-&connect('127.0.0.1'); #连接服务器 &
$redis-&set('key', 'hello '); #调用方法,设置string类型值 &
$redis-&append('key', 'world'); #修改string类型值 &
echo $redis-&get('key'); &#获取redis key的值,并输出显示 &&
echo $redis-&type('key'); #获取key 的数据类型 &
echo $redis-&echo('will close...');# 输出字符串 &
$redis-&close(); #关闭连接 &
$redis = new Redis(); #实例化redis类
$redis-&connect('127.0.0.1'); #连接服务器
$redis-&set('key', 'hello '); #调用方法,设置string类型值
$redis-&append('key', 'world'); #修改string类型值
echo $redis-&get('key'); &#获取redis key的值,并输出显示&
echo $redis-&type('key'); #获取key 的数据类型
echo $redis-&echo('will close...');# 输出字符串
$redis-&close(); #关闭连接 &通过上面的代码,我们基本完成一个简单redis的存取操作。下面罗列一些Redis类的一些属性及方法&
a)连接redis server:
connect :连接server
pconnect :长连接
auth :权限验证
select :选择DB
close : 关闭连接
& setOption : 设置 client 选项
getOption : 获取client选项
ping : ping redis server
&echo : 输出 字符串
注意,如果频繁操作redis,不停地connect 和close会很耗性能的,这个时候,建议用pconnect 建立个长连接
b)字符串读写函数
append &:在值的后面追加值
decr :递减一个key的值
incr :递增一个key的值
get :获取一个值
set :设置一个值
getSet :设置值,并返回老值
mGet :批量获取值
mSet :批量设置值
strlen :获取值长度
注意:如果能用批量操作尽量用批量,减少频繁连接redis性能
c)hash读写函数
hDel :删除一个多个域
hExists :判断一个hash域是否存在
hGet :获取hash域的值
hGetAll :获取所有域值
hIncrBy :自增长一个hash int域的值
hKeys :获取hash 所有域
hLen :获取域个数
hMGet :批量获取域的值
hMSet :批量设置域的值
hSet :设置域的值
hVals:得到所有域的值
d)list读写函数
lInsert:插入元素
lLen:list长度
lPop:移除并获取第一个颜色
lPush:插入一个元素
lRem:移除元素
lSet:设置元素值
sAdd:增加一个或多个成员
sIsMember:是否包含
sMembers:得到成员
sMove:移动成员
sPop:移除成员
sRandMember:得到随机成员
sRem:删除
f)sorted set
zAdd:增加一个或多个
zCard:成员个数
zIncrBy:递增成员score
zRange:返回索引范围内的成员
zRangeByScore :返回score范围内的成员
zScore:获取成员score
zRem:移除一个或多个成员30个php操作redis常用方法代码例子 - CSDN博客
30个php操作redis常用方法代码例子
redis的操作很多的,以前看到一个比较全的博客,但是现在找不到了。查个东西搜半天,下面整理一下php处理redis的例子,个人觉得常用一些例子。下面的例子都是基于php-redis这个扩展的。
1,connect
描述:实例连接到一个Redis.
参数:host: string,port: int
返回值:BOOL 成功返回:TRUE;失败返回:FALSE
$redis = new redis();
$result = $redis-&connect('127.0.0.1', 6379);
var_dump($result);
描述:设置key和value的值
参数:Key Value
返回值:BOOL 成功返回:TRUE;失败返回:FALSE
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$result = $redis-&set('test',"");
var_dump($result);
描述:获取有关指定键的值
返回值:string或BOOL 如果键不存在,则返回 FALSE。否则,返回指定键对应的value值。
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$result = $redis-&get('test');
var_dump($result);
描述:删除指定的键
参数:一个键,或不确定数目的参数,每一个关键的数组:key1 key2 key3 … keyN
返回值:删除的项数
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&set('test',"1");
echo $redis-&get('test');
$redis-&delete('test');
var_dump($redis-&get('test'));
描述:如果在数据库中不存在该键,设置关键值参数
参数:key value
返回值:BOOL 成功返回:TRUE;失败返回:FALSE
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&set('test',"1");
$redis-&setnx('test',"");
echo $redis-&get('test');
$redis-&delete('test');
$redis-&setnx('test',"");
echo $redis-&get('test');
描述:验证指定的键是否存在
返回值:Bool 成功返回:TRUE;失败返回:FALSE
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&set('test',"1");
var_dump($redis-&exists('test'));
描述:数字递增存储键值键.
参数:key value:将被添加到键的值
返回值:INT the new value
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&set('test',"123");
var_dump($redis-&incr("test"));
var_dump($redis-&incr("test"));
描述:数字递减存储键值。
参数:key value:将被添加到键的值
返回值:INT the new value
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&set('test',"123");
var_dump($redis-&decr("test"));
var_dump($redis-&decr("test"));
9,getMultiple
描述:取得所有指定键的值。如果一个或多个键不存在,该数组中该键的值为假
参数:其中包含键值的列表数组
返回值:返回包含所有键的值的数组
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&set('test1',"1");
$redis-&set('test2',"2");
$result = $redis-&getMultiple(array('test1','test2'));
print_r($result);
描述:由列表头部添加字符串值。如果不存在该键则创建该列表。如果该键存在,而且不是一个列表,返回FALSE。
参数:key,value
返回值:成功返回数组长度,失败false
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&delete('test');
var_dump($redis-&lpush("test","111"));
var_dump($redis-&lpush("test","222"));
描述:由列表尾部添加字符串值。如果不存在该键则创建该列表。如果该键存在,而且不是一个列表,返回FALSE。
参数:key,value
返回值:成功返回数组长度,失败false
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&delete('test');
var_dump($redis-&lpush("test","111"));
var_dump($redis-&lpush("test","222"));
var_dump($redis-&rpush("test","333"));
var_dump($redis-&rpush("test","444"));
描述:返回和移除列表的第一个元素
返回值:成功返回第一个元素的值 ,失败返回false
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&delete('test');
$redis-&lpush("test","111");
$redis-&lpush("test","222");
$redis-&rpush("test","333");
$redis-&rpush("test","444");
var_dump($redis-&lpop("test"));
13,lsize,llen
描述:返回的列表的长度。如果列表不存在或为空,该命令返回0。如果该键不是列表,该命令返回FALSE。
返回值:成功返回数组长度,失败false
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&delete('test');
$redis-&lpush("test","111");
$redis-&lpush("test","222");
$redis-&rpush("test","333");
$redis-&rpush("test","444");
var_dump($redis-&lsize("test"));
描述:返回指定键存储在列表中指定的元素。 0第一个元素,1第二个… -1最后一个元素,-2的倒数第二…错误的索引或键不指向列表则返回FALSE。
参数:key index
返回值:成功返回指定元素的值,失败false
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&delete('test');
$redis-&lpush("test","111");
$redis-&lpush("test","222");
$redis-&rpush("test","333");
$redis-&rpush("test","444");
var_dump($redis-&lget("test",3));
描述:为列表指定的索引赋新的值,若不存在该索引返回false.
参数:key index value
返回值:成功返回true,失败false
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&delete('test');
$redis-&lpush("test","111");
$redis-&lpush("test","222");
var_dump($redis-&lget("test",1));
var_dump($redis-&lset("test",1,"333"));
var_dump($redis-&lget("test",1));
16,lgetrange
返回在该区域中的指定键列表中开始到结束存储的指定元素,lGetRange(key, start, end)。0第一个元素,1第二个元素… -1最后一个元素,-2的倒数第二…
参数:key start end
返回值:成功返回查找的值,失败false
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&delete('test');
$redis-&lpush("test","111");
$redis-&lpush("test","222");
print_r($redis-&lgetrange("test",0,-1));
17,lremove
描述:从列表中从头部开始移除count个匹配的值。如果count为零,所有匹配的元素都被删除。如果count是负数,内容从尾部开始删除。
参数:key count value
返回值:成功返回删除的个数,失败false
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&delete('test');
$redis-&lpush('test','a');
$redis-&lpush('test','b');
$redis-&lpush('test','c');
$redis-&rpush('test','a');
print_r($redis-&lgetrange('test', 0, -1));
var_dump($redis-&lremove('test','a',2));
print_r($redis-&lgetrange('test', 0, -1));
描述:为一个Key添加一个值。如果这个值已经在这个Key中,则返回FALSE。
参数:key value
返回值:成功返回true,失败false
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&delete('test');
var_dump($redis-&sadd('test','111'));
var_dump($redis-&sadd('test','333'));
print_r($redis-&sort('test'));
19,sremove
描述:删除Key中指定的value值
参数:key member
返回值:true or false
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&delete('test');
$redis-&sadd('test','111');
$redis-&sadd('test','333');
$redis-&sremove('test','111');
print_r($redis-&sort('test'));
描述:将Key1中的value移动到Key2中
参数:srcKey dstKey member
返回值:true or false
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&delete('test');
$redis-&delete('test1');
$redis-&sadd('test','111');
$redis-&sadd('test','333');
$redis-&sadd('test1','222');
$redis-&sadd('test1','444');
$redis-&smove('test',"test1",'111');
print_r($redis-&sort('test1'));
21,scontains
描述:检查集合中是否存在指定的值。
参数:key value
返回值:true or false
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&delete('test');
$redis-&sadd('test','111');
$redis-&sadd('test','112');
$redis-&sadd('test','113');
var_dump($redis-&scontains('test', '111'));
描述:返回集合中存储值的数量
返回值:成功返回数组个数,失败0
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&delete('test');
$redis-&sadd('test','111');
$redis-&sadd('test','112');
echo $redis-&ssize('test');
描述:随机移除并返回key中的一个值
返回值:成功返回删除的值,失败false
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&delete('test');
$redis-&sadd("test","111");
$redis-&sadd("test","222");
$redis-&sadd("test","333");
var_dump($redis-&spop("test"));
描述:返回一个所有指定键的交集。如果只指定一个键,那么这个命令生成这个集合的成员。如果不存在某个键,则返回FALSE。
参数:key1, key2, keyN
返回值:成功返回数组交集,失败false
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&delete('test');
$redis-&sadd("test","111");
$redis-&sadd("test","222");
$redis-&sadd("test","333");
$redis-&sadd("test1","111");
$redis-&sadd("test1","444");
var_dump($redis-&sinter("test","test1"));
25,sinterstore
描述:执行sInter命令并把结果储存到新建的变量中。
Key: dstkey, the key to store the diff into.
Keys: key1, key2… keyN. key1..keyN are intersected as in sInter.
返回值:成功返回,交集的个数,失败false
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&delete('test');
$redis-&sadd("test","111");
$redis-&sadd("test","222");
$redis-&sadd("test","333");
$redis-&sadd("test1","111");
$redis-&sadd("test1","444");
var_dump($redis-&sinterstore('new',"test","test1"));
var_dump($redis-&smembers('new'));
返回一个所有指定键的并集
Keys: key1, key2, … , keyN
返回值:成功返回合并后的集,失败false
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&delete('test');
$redis-&sadd("test","111");
$redis-&sadd("test","222");
$redis-&sadd("test","333");
$redis-&sadd("test1","111");
$redis-&sadd("test1","444");
print_r($redis-&sunion("test","test1"));
27,sunionstore
描述:执行sunion命令并把结果储存到新建的变量中。
Key: dstkey, the key to store the diff into.
Keys: key1, key2… keyN. key1..keyN are intersected as in sInter.
返回值:成功返回,交集的个数,失败false
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&delete('test');
$redis-&sadd("test","111");
$redis-&sadd("test","222");
$redis-&sadd("test","333");
$redis-&sadd("test1","111");
$redis-&sadd("test1","444");
var_dump($redis-&sinterstore('new',"test","test1"));
print_r($redis-&smembers('new'));
描述:返回第一个集合中存在并在其他所有集合中不存在的结果
参数:Keys: key1, key2, … , keyN: Any number of keys corresponding to sets in redis.
返回值:成功返回数组,失败false
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&delete('test');
$redis-&sadd("test","111");
$redis-&sadd("test","222");
$redis-&sadd("test","333");
$redis-&sadd("test1","111");
$redis-&sadd("test1","444");
print_r($redis-&sdiff("test","test1"));
29,sdiffstore
描述:执行sdiff命令并把结果储存到新建的变量中。
Key: dstkey, the key to store the diff into.
Keys: key1, key2, … , keyN: Any number of keys corresponding to sets in redis
返回值:成功返回数字,失败false
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&delete('test');
$redis-&sadd("test","111");
$redis-&sadd("test","222");
$redis-&sadd("test","333");
$redis-&sadd("test1","111");
$redis-&sadd("test1","444");
var_dump($redis-&sdiffstore('new',"test","test1"));
print_r($redis-&smembers('new'));
30,smembers, sgetmembers
返回集合的内容
参数:Key: key
返回值:An array of elements, the contents of the set.
$redis = new redis();
$redis-&connect('127.0.0.1', 6379);
$redis-&delete('test');
$redis-&sadd("test","111");
$redis-&sadd("test","222");
print_r($redis-&smembers('test'));
本文已收录于以下专栏:
相关文章推荐
在php里边,redis就是一个功能类,该类中有许多成员方法(名字基本与redis指令的名字一致,参数也一致)。
connect('127.0.0.1', 6379);
//选择red...
讲了这么多Redis的使用,今天我们来讲下Redis的事物
1.首先,我们来看一下Redis中事物相关的指令,
命令原型      
MULTI   用于标记事务的开始,其后执行的命令都将...
一直在拿PHP使用Redis,但是总感觉不牢靠,索性借这个时间空余一气呵成,
把PHP中所有操作到的Redis命令,几乎全敲个遍,包括它的返回值都是盯对过的,哪怕下回忘了也可以直接过来查嘛~大家...
1.PHP操作Redis之KEY
移除给定的一个或多个key。如果key不存在,则忽略该命令。
被移除key的数量。
$redis-&set('myname','ikodo...
1.PHP操作Redis之List
1、lPush()/rPush()
lPush()的语法格式是:$redis-&lPush(key, value),作用是将value添加到链表key的左边(头部)...
1,connect
描述:实例连接到一个Redis.
参数:host: string,port: int
返回值:BOOL 成功返回:TRUE;失败返回:FALSE
增加一个或多个元素,如果该元素已经存在,更新它的socre值虽然有序集合有序,但它也是集合,不能重复元素,添加重复元素只会更新原有元素的score值
$redis-&zAdd('ke...
login.html 负责收集用户填写的登录信息
login.php 负责处理用户登录与退出动作。
* PHP简单利用token防止表单重复提交
* 此处理方法纯粹是为了给初学者参考
session_start();
function set_token() {
他的最新文章
讲师:吴岸城
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)获取Redis所有Key的方法:
获取所有Key命令:redis-cli keys ‘*’
获取指定前缀的key:redis-cli KEYS “edu:*”
如果需要导出,可以redis-cli keys ‘*’ & /data/redis_key.txt
删除指定前缀的Key
redis-cli KEYS “edu:*” | xargs redis-cli DEL
2. PHP获取Redis所有Key
获取Redis所有Key:$keys = $redis-&keys(‘*’);
获取指定前缀的Key:$keys = $redis-&keys(‘edu*’);
删除指定前缀的Key :$redis-&delete($redis-&keys(‘image*’));
相关命令参考

我要回帖

更多关于 php redis获取hash 的文章

 

随机推荐