PHP-Redis扩展使用手册(一)
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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 | //初始化redis实例 $redis = new Redis(); /* connect 、 open 链接redis * @param string host redis服务器地址 * @param int port 链接端口 可选 * @param float timeout 链接超时时间,可选,默认为0无限制 * @param NULL reserved 如果retry_interval有值,reserved应该为NULL * @param int intry_interval 相隔intry_interval后尝试重新连接 可选 * @return bool 成功返回true,失败返回false */ $redis ->connect( $redis_host , $redis_port ); /* 连接到一个redis实例或重用的连接已经建立 * @param string host redis服务器地址 * @param int port 链接端口 可选 * @param float timeout 链接超时时间,可选,默认为0无限制 * @param NULL reserved 如果retry_interval有值,reserved应该为NULL * @param int intry_interval 相隔intry_interval后尝试重新连接 可选 * @return bool 成功返回true,失败返回false */ $redis ->pconnect( $redis_host , $redis_port ); /* 使用密码验证连接是否合法,警告:密码在网络中使用明文传输 * @param string password 密码 * @return bool 合法返回true,否则返回false */ $redis ->auth( 'password' ); /* 改变当前连接中已经选择的数据库,默认当前数据库下标为0,数据库16个 * @param index INTEGER 数据库下标 * @return bool 成功返回true,失败返回false */ $redis ->select(1); /* 在当前redis实例中关闭除了使用pconnect建立的链接 */ $redis ->close(); /* 设置客户端配置 * @param name 配置名称 * @param value 配置值 * @return bool 成功返回true,失败返回false */ $redis ->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_NONE); /* 获取客户端配置 * @param name 配置名称 * @return value 配置值 */ $redis ->getOption(Redis::OPT_SERIALIZER); /* 检查当前链接状态 * @return value 成功返回"+PONG",否则抛出RedisException异常 */ $redis ->ping(); /* 发送一段字符串到redis服务,然后返回相同字符串 * @param string message 发送字符串 * @return string 返回消息 */ $redis -> echo ( 'echo_msg' ); /* 开始在后台重写AOF(AppendOnly FILE),数据库持久化 * @return bool 成功返回true,失败返回false */ $redis ->bgrewriteaof(); /* 将数据异步保存到硬盘中 * @return bool 成功返回true,失败返回false,如果保存已经在运行,则返回false */ $redis ->bgsave(); /* 获取或者设置redis服务器配置参数 * @param string operation “GET” 或者 “SET” * @param string key 获取或者设置的key * @param string value 获取或者设置的value * @return 如果是set,则返回bool,如果是get,则返回value */ $redis ->config( "GET" , "*max-*-entries" ); $redis ->config( "SET" , "dir" , "/var/run/redis/dumps/" ); /* 返回当前数据库key的数量 * @return int 数据库key的数量 */ $redis ->dbsize(); /* 移除所有数据库中所有的key * @return bool true 总是返回true */ $redis ->flushAll(); /* 移除所有key从当前数据库中 * @return value true 总是返回true */ $redis ->flushDB(); /* 获取关于服务器信息和统计, * 无参数是 返回: * redis_version redis版本信息 * arch_bits 框架(x86/x64) * uptime_in_seconds redis运行的秒数 * uptime_in_days redis运行的天数 * connected_clients 客户端链接数 * connected_slaves 从服务器链接数 * used_memory 已使用内存大小 * changes_since_last_save 距离最近一次成功创建持久化文件之后,经过了多少秒 * bgsave_in_progress 一个标志值,记录了服务器是否正在创建 RDB 文件 * last_save_time 最近一次成功创建 RDB 文件的 UNIX 时间戳 * total_connections_received 服务器已接受的连接请求数量 * total_commands_processed 服务器已执行的命令数量 * role 如果当前服务器没有在复制任何其他服务器,那么这个域的值就是 master ;否则的话,这个域的值就是 slave 。注意,在创建复制链的时候,一个从服务器也可能是另一个服务器的主服务器。 * 如果存在参数,则获取参数对应部分数据,详细参照:http://redisdoc.com/server/info.html * @param string 获取那部分数据 * @return assoc_array 关于服务器的消息或统计 */ $redis ->info(); /* standard redis INFO command */ $redis ->info( "COMMANDSTATS" ); /* Information on the commands that have been run (>=2.6 only)*/ $redis ->info( "CPU" ); /* just CPU information from Redis INFO */ /* 返回上次保存数据到硬盘的时间戳 * @return int 时间戳 */ $redis ->lastSave(); /* 重置info()函数返回的那些信息 * @return bool 成功返回true,失败返回false */ $redis ->resetStat(); /* 服务器异步保存数据到硬盘,等待操作完成 * @return bool 成功返回true,失败返回false,如果保存已经在运行,则返回false */ $redis ->save(); /* 改变从服务器 * 可填 host(string)、port(int)或者不填 * @return bool 成功返回true,失败返回false */ $redis ->slaveof( '10.0.1.7' , 6379); $redis ->slaveof(); /* 返回服务器时间 * @return assoc_array 时间戳和微秒数 */ $redis ->time(); /* 访问redis慢日记 * @param string operation “GET”,“LEN”,“RESET” * @return “GET“返回特定数目的慢查询,”RESET“重置慢查询,”LEN“返回慢查询条目数 */ $redis ->slowlog( 'get' , 10); $redis ->slowlog( 'get' ); $redis ->slowlog( 'reset' ); /* 通过key获取对应的value * @param string or bool * @return string or bool 如果key不存在,返回false,否则返回value */ $redis ->get( 'key' ); /* 设置key-value * @param key * @param value * @param timeout or option_array,过时时间或者选项数组,如果参数为整数,则调用SETEX,如果传一个数组,且redis 大于 2.6.12,则作为扩展选项数组 * @return bool 如果命令成功,返回true */ $redis ->set( 'key' , 'value' ); $redis ->set( 'key' , 'value' , 10); // Will set the key, if it doesn't exist, with a ttl of 10 seconds $redis ->set( 'key' , 'value' , Array( 'nx' , 'ex' =>10)); // Will set a key, if it does exist, with a ttl of 1000 miliseconds $redis ->set( 'key' , 'value' , Array( 'xx' , 'px' =>1000)); /* 设置key-value和 改key的ttl(生存时间) * @param string key * @param int ttl 单位为分钟 * @param string value * @return bool 成功返回true */ $redis ->setex( 'key' , 3600, 'value' ); // sets key → value, with 1h TTL. /* 设置key-value和 改key的ttl(生存时间) * @param string key * @param int ttl 单位为毫秒 * @param string value * @return bool 成功返回true */ $redis ->psetex( 'key' , 100, 'value' ); // sets key → value, with 0.1 sec TTL. /* 当key不存在,插入value,否则不操作 * @param key * @param value * @return bool 成功返回true,失败返回false,如果存在key也返回false */ $redis ->setnx( 'key' , 'value' ); /* 移除key * @param key_array * @return int 删除key的个数 */ $redis ->set( 'key1' , 'val1' ); $redis ->set( 'key2' , 'val2' ); $redis ->set( 'key3' , 'val3' ); $redis ->set( 'key4' , 'val4' ); $redis -> delete ( array ( 'key3' , 'key4' )); //return 2 /* 判断key是否存在 * @param key * @return bool 存在返回true,否则返回false */ $redis ->exists( 'key' ); /* 使key对应的value自增1 * @param key * @return 一个新value */ $redis ->incr( 'key1' ); /* 使key对应的value增value * @param key * @param int value 增量 * @return 一个新value */ $redis ->incrBy( 'key1' ,10); /* 使key对应的value增value * @param key * @param float value 增量 * @return 一个新value */ $redis ->incrByFloat( 'key1' ,1.3); /* 使key对应的value自减1 * @param key * @return 一个新value */ $redis ->decr( 'key1' ); /* 使key对应的value减value * @param key * @param int value * @return 一个新value */ $redis ->decrBy( 'key1' ,10); |
作者:小熊猫小
出处:http://www.cnblogs.com/pandang/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法
· Vite CVE-2025-30208 安全漏洞