php处理redis
1,connect
描述:实例连接到一个Redis.
参数:host: string,port: int
返回值:BOOL 成功返回:TRUE;失败返回:FALSE
示例:
1
2
3
4
5
|
<?php $redis = new redis(); $result = $redis ->connect( '127.0.0.1' , 6379); var_dump( $result ); //结果:bool(true) ?> |
2,set
描述:设置key和value的值
参数:Key Value
返回值:BOOL 成功返回:TRUE;失败返回:FALSE
示例:
1
2
3
4
5
6
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $result = $redis ->set( 'test' , "11111111111" ); var_dump( $result ); //结果:bool(true) ?> |
3,get
描述:获取有关指定键的值
参数:key
返回值:string或BOOL 如果键不存在,则返回 FALSE。否则,返回指定键对应的value值。
范例:
1
2
3
4
5
6
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $result = $redis ->get( 'test' ); var_dump( $result ); //结果:string(11) "11111111111" ?> |
4,delete
描述:删除指定的键
参数:一个键,或不确定数目的参数,每一个关键的数组:key1 key2 key3 … keyN
返回值:删除的项数
范例:
1
2
3
4
5
6
7
8
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis ->set( 'test' , "1111111111111" ); echo $redis ->get( 'test' ); //结果:1111111111111 $redis -> delete ( 'test' ); var_dump( $redis ->get( 'test' )); //结果:bool(false) ?> |
5,setnx
描述:如果在数据库中不存在该键,设置关键值参数
参数:key value
返回值:BOOL 成功返回:TRUE;失败返回:FALSE
范例:
1
2
3
4
5
6
7
8
9
10
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis ->set( 'test' , "1111111111111" ); $redis ->setnx( 'test' , "22222222" ); echo $redis ->get( 'test' ); //结果:1111111111111 $redis -> delete ( 'test' ); $redis ->setnx( 'test' , "22222222" ); echo $redis ->get( 'test' ); //结果:22222222 ?> |
6,exists
描述:验证指定的键是否存在
参数key
返回值:Bool 成功返回:TRUE;失败返回:FALSE
范例:
1
2
3
4
5
6
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis ->set( 'test' , "1111111111111" ); var_dump( $redis ->exists( 'test' )); //结果:bool(true) ?> |
7,incr
描述:数字递增存储键值键.
参数:key value:将被添加到键的值
返回值:INT the new value
实例:
1
2
3
4
5
6
7
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis ->set( 'test' , "123" ); var_dump( $redis ->incr( "test" )); //结果:int(124) var_dump( $redis ->incr( "test" )); //结果:int(125) ?> |
8,decr
描述:数字递减存储键值。
参数:key value:将被添加到键的值
返回值:INT the new value
实例:
1
2
3
4
5
6
7
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis ->set( 'test' , "123" ); var_dump( $redis ->decr( "test" )); //结果:int(122) var_dump( $redis ->decr( "test" )); //结果:int(121) ?> |
9,getMultiple
描述:取得所有指定键的值。如果一个或多个键不存在,该数组中该键的值为假
参数:其中包含键值的列表数组
返回值:返回包含所有键的值的数组
实例:
1
2
3
4
5
6
7
8
|
<?php $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 ); //结果:Array ( [0] => 1 [1] => 2 ) ?> |
10,lpush
描述:由列表头部添加字符串值。如果不存在该键则创建该列表。如果该键存在,而且不是一个列表,返回FALSE。
参数:key,value
返回值:成功返回数组长度,失败false
实例:
1
2
3
4
5
6
7
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis -> delete ( 'test' ); var_dump( $redis ->lpush( "test" , "111" )); //结果:int(1) var_dump( $redis ->lpush( "test" , "222" )); //结果:int(2) ?> |
11,rpush
描述:由列表尾部添加字符串值。如果不存在该键则创建该列表。如果该键存在,而且不是一个列表,返回FALSE。
参数:key,value
返回值:成功返回数组长度,失败false
范例:
1
2
3
4
5
6
7
8
9
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis -> delete ( 'test' ); var_dump( $redis ->lpush( "test" , "111" )); //结果:int(1) var_dump( $redis ->lpush( "test" , "222" )); //结果:int(2) var_dump( $redis ->rpush( "test" , "333" )); //结果:int(3) var_dump( $redis ->rpush( "test" , "444" )); //结果:int(4) ?> |
12,lpop
描述:返回和移除列表的第一个元素
参数:key
返回值:成功返回第一个元素的值 ,失败返回false
范例:
1
2
3
4
5
6
7
8
9
10
|
<?php $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" )); //结果:string(3) "222" ?> |
13,lsize,llen
描述:返回的列表的长度。如果列表不存在或为空,该命令返回0。如果该键不是列表,该命令返回FALSE。
参数:Key
返回值:成功返回数组长度,失败false
范例:
1
2
3
4
5
6
7
8
9
10
|
<?php $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" )); //结果:int(4) ?> |
14,lget
描述:返回指定键存储在列表中指定的元素。 0第一个元素,1第二个… -1最后一个元素,-2的倒数第二…错误的索引或键不指向列表则返回FALSE。
参数:key index
返回值:成功返回指定元素的值,失败false
范例:
1
2
3
4
5
6
7
8
9
10
|
<?php $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)); //结果:string(3) "444" ?> |
15,lset
描述:为列表指定的索引赋新的值,若不存在该索引返回false.
参数:key index value
返回值:成功返回true,失败false
范例:
1
2
3
4
5
6
7
8
9
10
|
<?php $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)); //结果:string(3) "111" var_dump( $redis ->lset( "test" ,1, "333" )); //结果:bool(true) var_dump( $redis ->lget( "test" ,1)); //结果:string(3) "333" ?> |
16,lgetrange
描述:
返回在该区域中的指定键列表中开始到结束存储的指定元素,lGetRange(key, start, end)。0第一个元素,1第二个元素… -1最后一个元素,-2的倒数第二…
参数:key start end
返回值:成功返回查找的值,失败false
范例:
1
2
3
4
5
6
7
8
|
<?php $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)); //结果:Array ( [0] => 222 [1] => 111 ) ?> |
17,lremove
描述:从列表中从头部开始移除count个匹配的值。如果count为零,所有匹配的元素都被删除。如果count是负数,内容从尾部开始删除。
参数:key count value
返回值:成功返回删除的个数,失败false
范例:
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php $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)); //结果:Array ( [0] => c [1] => b [2] => a [3] => a ) var_dump( $redis ->lremove( 'test' , 'a' ,2)); //结果:int(2) print_r( $redis ->lgetrange( 'test' , 0, -1)); //结果:Array ( [0] => c [1] => b ) ?> |
18,sadd
描述:为一个Key添加一个值。如果这个值已经在这个Key中,则返回FALSE。
参数:key value
返回值:成功返回true,失败false
范例:
1
2
3
4
5
6
7
8
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis -> delete ( 'test' ); var_dump( $redis ->sadd( 'test' , '111' )); //结果:bool(true) var_dump( $redis ->sadd( 'test' , '333' )); //结果:bool(true) print_r( $redis ->sort( 'test' )); //结果:Array ( [0] => 111 [1] => 333 ) ?> |
19,sremove
描述:删除Key中指定的value值
参数:key member
返回值:true or false
范例:
1
2
3
4
5
6
7
8
9
|
<?php $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' )); //结果:Array ( [0] => 333 ) ?> |
20,smove
描述:将Key1中的value移动到Key2中
参数:srcKey dstKey member
返回值:true or false
范例
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php $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' )); //结果:Array ( [0] => 111 [1] => 222 [2] => 444 ) ?> |
21,scontains
描述:检查集合中是否存在指定的值。
参数:key value
返回值:true or false
范例:
1
2
3
4
5
6
7
8
9
|
<?php $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' )); //结果:bool(true) ?> |
22,ssize
描述:返回集合中存储值的数量
参数:key
返回值:成功返回数组个数,失败0
范例:
1
2
3
4
5
6
7
8
|
<?php $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' ); //结果:2 ?> |
23,spop
描述:随机移除并返回key中的一个值
参数:key
返回值:成功返回删除的值,失败false
范例
1
2
3
4
5
6
7
8
9
|
<?php $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" )); //结果:string(3) "333" ?> |
24,sinter
描述:返回一个所有指定键的交集。如果只指定一个键,那么这个命令生成这个集合的成员。如果不存在某个键,则返回FALSE。
参数:key1, key2, keyN
返回值:成功返回数组交集,失败false
范例:
1
2
3
4
5
6
7
8
9
10
11
|
<?php $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" )); //结果:array(1) { [0]=> string(3) "111" } ?> |
25,sinterstore
描述:执行sInter命令并把结果储存到新建的变量中。
参数:
Key: dstkey, the key to store the diff into.
Keys: key1, key2… keyN. key1..keyN are intersected as in sInter.
返回值:成功返回,交集的个数,失败false
范例:
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php $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" )); //结果:int(1) var_dump( $redis ->smembers( 'new' )); //结果:array(1) { [0]=> string(3) "111" } ?> |
26,sunion
描述:
返回一个所有指定键的并集
参数:
Keys: key1, key2, … , keyN
返回值:成功返回合并后的集,失败false
范例:
1
2
3
4
5
6
7
8
9
10
11
|
<?php $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" )); //结果:Array ( [0] => 111 [1] => 222 [2] => 333 [3] => 444 ) ?> |
27,sunionstore
描述:执行sunion命令并把结果储存到新建的变量中。
参数:
Key: dstkey, the key to store the diff into.
Keys: key1, key2… keyN. key1..keyN are intersected as in sInter.
返回值:成功返回,交集的个数,失败false
范例:
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php $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" )); //结果:int(4) print_r( $redis ->smembers( 'new' )); //结果:Array ( [0] => 111 [1] => 222 [2] => 333 [3] => 444 ) ?> |
28,sdiff
描述:返回第一个集合中存在并在其他所有集合中不存在的结果
参数:Keys: key1, key2, … , keyN: Any number of keys corresponding to sets in redis.
返回值:成功返回数组,失败false
范例:
1
2
3
4
5
6
7
8
9
10
11
|
<?php $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" )); //结果:Array ( [0] => 222 [1] => 333 ) ?> |
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
范例:
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php $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" )); //结果:int(2) print_r( $redis ->smembers( 'new' )); //结果:Array ( [0] => 222 [1] => 333 ) ?> |
30,smembers, sgetmembers
描述:
返回集合的内容
参数:Key: key
返回值:An array of elements, the contents of the set.
范例:
1
2
3
4
5
6
7
8
|
<?php $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' )); //结果:Array ( [0] => 111 [1] => 222 ) ?> |
php处理redis的更多相关文章
- 使用redis构建可靠分布式锁
关于分布式锁的概念,具体实现方式,直接参阅下面两个帖子,这里就不多介绍了. 分布式锁的多种实现方式 分布式锁总结 对于分布式锁的几种实现方式的优劣,这里再列举下 1. 数据库实现方式 优点:易理解 缺 ...
- Ignite性能测试以及对redis的对比
测试方法 为了对Ignite做一个基本了解,做了一个性能测试,测试方法也比较简单主要是针对client模式,因为这种方法和使用redis的方式特别像.测试方法很简单主要是下面几点: 不作参数优化,默认 ...
- mac osx 安装redis扩展
1 php -v查看php版本 2 brew search php|grep redis 搜索对应的redis ps:如果没有brew 就根据http://brew.sh安装 3 brew ins ...
- Redis/HBase/Tair比较
KV系统对比表 对比维度 Redis Redis Cluster Medis Hbase Tair 访问模式 支持Value大小 理论上不超过1GB(建议不超过1MB) 理论上可配置(默认配置1 ...
- Redis数据库
Redis是k-v型数据库的典范,设计思想及数据结构实现都值得学习. 1.数据类型 value支持五种数据类型:1.字符串(strings)2.字符串列表(lists)3.字符串集合(sets)4.有 ...
- redis 学习笔记(2)
redis-cluster 简介 redis-cluster是一个分布式.容错的redis实现,redis-cluster通过将各个单独的redis实例通过特定的协议连接到一起实现了分布式.集群化的目 ...
- redis 学习笔记(1)
redis持久化 snapshot数据快照(rdb) 这是一种定时将redis内存中的数据写入磁盘文件的一种方案,这样保留这一时刻redis中的数据镜像,用于意外回滚.redis的snapshot的格 ...
- python+uwsgi导致redis无法长链接引起性能下降问题记录
今天在部署python代码到预生产环境时,web站老是出现redis链接未初始化,无法连接到服务的提示,比对了一下开发环境与测试环境代码,完全一致,然后就是查看各种日志,排查了半天也没有查明是什么原因 ...
- nginx+iis+redis+Task.MainForm构建分布式架构 之 (redis存储分布式共享的session及共享session运作流程)
本次要分享的是利用windows+nginx+iis+redis+Task.MainForm组建分布式架构,上一篇分享文章制作是在windows上使用的nginx,一般正式发布的时候是在linux来配 ...
- windows+nginx+iis+redis+Task.MainForm构建分布式架构 之 (nginx+iis构建服务集群)
本次要分享的是利用windows+nginx+iis+redis+Task.MainForm组建分布式架构,由标题就能看出此内容不是一篇分享文章能说完的,所以我打算分几篇分享文章来讲解,一步一步实现分 ...
随机推荐
- des加密——补齐
下面这个网址(英文)介绍的比较全面. http://www.di-mgt.com.au/cryptopad.html
- Squid 反向代理配置
Squid 反向代理配置 1.删除主配置文件重写写入配置 rm -f /etc/squid/squid.conf 2.重新写入配置反向代理 vim /etc/squid/squid.conf # 监听 ...
- 跨平台移动开发_PhoneGap 使用Accelerometer 加速器
使用Accelerometer 加速器效果图 示例代码 <!DOCTYPE html> <html> <head> <title> Cude Phone ...
- 大话设计模式之PHP篇 - 适配器模式
定义将一个类的接口转换成客户希望的另外一个接口,使用原本不兼容的而不能在一起工作的那些类可以在一起工作. 角色Target适配目标,该角色定义把其他类转换为何种接口,也就是我们的期望接口.Adapte ...
- IEnumerable的一些基本方法 补充
接上一篇,我们发现两表连接方式默认为内连接,而我们在SQL中常用到的左连接没有封装方法.换句话说,微软放弃两表左连或右连的这种做法(只有在2个表都存在值时,这样的连接才有意义). 如果要实现表的左连接 ...
- centOS安装apache服务器
# yum install httpd 启动 systemctl start httpd 重启 systemctl restart httpd 停止 systemctl stop httpd
- Kafka高可用环境搭建
Apache Kafka是分布式发布-订阅消息系统,在 kafka官网上对 kafka 的定义:一个分布式发布-订阅消息传递系统. 它最初由LinkedIn公司开发,Linkedin于2010年贡献给 ...
- Spring初学之annotation实现AOP前置通知、后置通知、返回通知、异常通知。
实现两个整数的加减乘除.在执行每个方法之前打印日志. ArithmeticCalculator.java: package spring.aop.impl; public interface Arit ...
- 斯特林公式求N!
n!的长度为 ll ans = log10(2*pi*n)/2 + n*(log10(n/exp(1.0)))+1;
- 添加语句<tx:annotation-driven transaction-manager="txManager"/>报错
在添加<tx:annotation-driven transaction-manager="txManager"/>程序之前,applicationContext.xm ...