1. 一、Redis连接与认证
  2. //连接参数:ip、端口、连接超时时间,连接成功返回true,否则返回false
  3.  
  4. $ret = $redis->connect('127.0.0.1', 6379, 30);
  5.  
  6. //密码认证:成功返回true,否则返回false
  7.  
  8. $ret = $redis->auth('123456');
  9.  
  10. 二、String操作
  11. //设置键值:成功返回true,否则返回false
  12.  
  13. $redis->set('mystr', 'Welcome!');
  14.  
  15. //获取键值:成功返回String类型键值,若key不存在或不是String类型则返回false
  16.  
  17. $ret = $redis->get('mystr');
  18.  
  19. //从某个key所存储的字符串的指定偏移量开始,替换为另一指定字符串,成功返回替换后新字符串的长度。
  20.  
  21. $ret = $redis->setRange('mystr', 7, ' to Beijing!');
  22.  
  23. //获取存储在指定key中字符串的子字符串。
  24.  
  25. $ret = $redis->getRange('mystr', 0, 6);
  26.  
  27. //设置新值,返回旧值:若key不存在则设置值,返回false
  28.  
  29. $ret = $redis->getSet('mystr', 'hi man');
  30.  
  31. //一次设置多个键值对:成功返回true。
  32.  
  33. $ret = $redis->mset(['name' => 'jet', 'age' => 18]);
  34.  
  35. //一次获取多个key的值:返回一个键值对数组,其中不存在的key值为false。
  36.  
  37. $ret = $redis->mget(['name', 'age']);
  38.  
  39. //设置指定key的值及其过期时间,单位:秒。
  40.  
  41. //参数:键名,过期时间,键值。成功返回true。
  42.  
  43. $ret = $redis->setex('name', 10, 'jetwu');
  44.  
  45. //以毫秒为单位设置指定key的值和过期时间。成功返回true。
  46.  
  47. $ret = $redis->psetex('name', 10, 'jetwu');
  48.  
  49. //key的值不存在时,才为其设置值。key不存在且设置成功返回true,否则返回false。
  50.  
  51. $ret = $redis->setnx('name', 'boby');
  52.  
  53. //setnx命令的批量操作。只有在给定所有key都不存在的时候才能设置成功,只要其中一个key存在,所有key都无法设置成功。
  54.  
  55. $ret = $redis->msetnx(['country' => 'China', 'city' => 'Shenzhen']);
  56.  
  57. //获取指定key存储的字符串的长度,key不存在返回0,不为字符串返回false。
  58.  
  59. $ret = $redis->strlen('name');
  60.  
  61. //将指定key存储的数字值增加1。若key不存在会先初始化为0再增加1,若key存储的不是整数值则返回false。成功返回key新值。
  62.  
  63. $ret = $redis->incr('age');
  64.  
  65. //给指定key存储的数字值增加指定增量值。
  66.  
  67. $ret = $redis->incrBy('age', 10);
  68.  
  69. //给指定key存储的数字值增加指定浮点数增量。
  70.  
  71. $ret = $redis->incrByFloat('age', 1.5);
  72.  
  73. //将指定key存储的数字值减一。
  74.  
  75. $ret = $redis->decr('age');
  76.  
  77. //将指定key存储的数字值减去指定减量值。
  78.  
  79. $ret = $redis->decrBy('age', 10);
  80.  
  81. //为指定key追加值到原值末尾,若key不存在则相对于set()函数。
  82.  
  83. $ret = $redis->append('mystr', 'haha');
  84.  
  85. 三、Hash操作
  86. //为hash表中的字段赋值。成功返回1,失败返回0。若hash表不存在会先创建表再赋值,若字段已存在会覆盖旧值。
  87.  
  88. $ret = $redis->hSet('user', 'realname', 'jetwu');
  89.  
  90. //获取hash表中指定字段的值。若hash表不存在则返回false。
  91.  
  92. $ret = $redis->hGet('user', 'realname');
  93.  
  94. //查看hash表的某个字段是否存在,存在返回true,否则返回false。
  95.  
  96. $ret = $redis->hExists('user', 'realname');
  97.  
  98. //删除hash表的一个字段,不支持删除多个字段。成功返回1,否则返回0。
  99.  
  100. $ret = $redis->hDel('user', 'realname');
  101.  
  102. //同时设置某个hash表的多个字段值。成功返回true。
  103.  
  104. $ret = $redis->hMset('user', ['name' => 'jet', 'age' => 18]);
  105.  
  106. //同时获取某个hash表的多个字段值。其中不存在的字段值为false。
  107.  
  108. $ret = $redis->hMget('user', ['name', 'age']);
  109.  
  110. //获取某个hash表所有的字段和值。
  111.  
  112. $ret = $redis->hGetAll('user');
  113.  
  114. //获取某个hash表所有字段名。hash表不存在时返回空数组,key不为hash表时返回false。
  115.  
  116. $ret = $redis->hKeys('user');
  117.  
  118. //获取某个hash表所有字段值。
  119.  
  120. $ret = $redis->hVals('user');
  121.  
  122. //为hash表中不存在的字段赋值。若hash表不存在则先创建,若字段已存在则不做任何操作。设置成功返回true,否则返回false。
  123.  
  124. $ret = $redis->hSetNx('user', 'realname', 'jetwu');
  125.  
  126. //获取某个hash表的字段数量。若hash表不存在返回0,若key不为hash表则返回false。
  127.  
  128. $ret = $redis->hLen('user');
  129.  
  130. //为hash表中的指定字段加上指定增量值,若增量值为负数则相当于减法操作。若hash表不存在则先创建,若字段不存在则先初始化值为0再进行操作,若字段值为字符串则返回false。设置成功返回字段新值。
  131.  
  132. $ret = $redis->hIncrBy('user', 'age', 10);
  133.  
  134. //为hash表中的指定字段加上指定浮点数增量值。
  135.  
  136. $ret = $redis->hIncrBy('user', 'age', 1.5);
  137.  
  138. 四、List操作
  139. //从list头部插入一个值。
  140.  
  141. $ret = $redis->lPush('city', 'guangzhou');
  142.  
  143. //从list尾部插入一个值。
  144.  
  145. $ret = $redis->rPush('city', 'guangzhou');
  146.  
  147. //获取列表指定区间中的元素。0表示列表第一个元素,-1表示最后一个元素,-2表示倒数第二个元素。
  148.  
  149. $ret = $redis->lrange('city', 0, -1);//查看队列所有元素
  150.  
  151. //将一个插入已存在的列表头部,列表不存在时操作无效。
  152.  
  153. $ret = $redis->lPushx('city', 'hangzhou');
  154.  
  155. //将一个或多个值插入已存在的列表尾部,列表不存在时操作无效。
  156.  
  157. $ret = $redis->rPushx('city', 'hangzhou');
  158.  
  159. //移除并返回列表的第一个元素,若key不存在或不是列表则返回false。
  160.  
  161. $ret = $redis->lPop('city');
  162.  
  163. //移除并返回列表的最后一个元素,若key不存在或不是列表则返回false。
  164.  
  165. $ret = $redis->rPop('city');
  166.  
  167. //移除并获取列表的第一个元素。如果列表没有元素则会阻塞列表直到等待超时或发现可弹出元素为止。
  168.  
  169. //参数:key,超时时间(单位:秒)
  170.  
  171. //返回值:[0=>key,1=>value],超时返回[]
  172.  
  173. $ret = $redis->blPop('city', 10);
  174.  
  175. //移除并获取列表的最后一个元素。如果列表没有元素则会阻塞列表直到等待超时或发现可弹出元素为止。
  176.  
  177. //参数:key,超时时间(单位:秒)
  178.  
  179. //返回值:[0=>key,1=>value],超时返回[]
  180.  
  181. $ret = $redis->brPop('city', 10);
  182.  
  183. //移除列表中最后一个元素,将其插入另一个列表头部,并返回这个元素。若源列表没有元素则返回false。
  184.  
  185. $ret = $redis->rpoplpush('city', 'city2');
  186.  
  187. //移除列表中最后一个元素,将其插入另一个列表头部,并返回这个元素。如果列表没有元素则会阻塞列表直到等待超时或发现可弹出元素为止。
  188.  
  189. //参数:源列表,目标列表,超时时间(单位:秒)
  190.  
  191. //超时返回false
  192.  
  193. $ret = $redis->brpoplpush('city', 'city2', 10);
  194.  
  195. //返回列表长度。
  196.  
  197. $ret = $redis->lLen('city');
  198.  
  199. //通过索引获取列表中的元素。若索引超出列表范围则返回false。
  200.  
  201. $ret = $redis->lindex('city', 0);
  202.  
  203. //通过索引设置列表中元素的值。若是索引超出范围,或对一个空列表进行lset操作,则返回false。
  204.  
  205. $ret = $redis->lSet('city', 2, 'changsha');
  206.  
  207. //在列表中指定元素前或后面插入元素。若指定元素不在列表中,或列表不存在时,不执行任何操作。
  208.  
  209. //参数:列表key,Redis::AFTER或Redis::BEFORE,基准元素,插入元素
  210.  
  211. //返回值:插入成功返回插入后列表元素个数,若基准元素不存在返回-1,若key不存在返回0,若key不是列表返回false。
  212.  
  213. $ret = $redis->lInsert('city', Redis::AFTER, 'changsha', 'nanjing');
  214.  
  215. //根据第三个参数count的值,移除列表中与参数value相等的元素。
  216.  
  217. //count > 0 : 从表头开始向表尾搜索,移除与value相等的元素,数量为count。
  218.  
  219. //count < 0 : 从表尾开始向表头搜索,移除与value相等的元素,数量为count的绝对值。
  220.  
  221. //count = 0 : 移除表中所有与value相等的值。
  222.  
  223. //返回实际删除元素个数
  224.  
  225. $ret = $redis->lrem('city', 'guangzhou', -2);
  226.  
  227. //对一个列表进行修剪,只保留指定区间的元素,其他元素都删除。成功返回true。
  228.  
  229. $ret = $redis->ltrim('city', 1, 4);
  230.  
  231. 五、Set操作
  232. //将一个元素加入集合,已经存在集合中的元素则忽略。若集合不存在则先创建,若key不是集合类型则返回false,若元素已存在返回0,插入成功返回1。
  233.  
  234. $ret = $redis->sAdd('myset', 'hello');
  235.  
  236. //返回集合中所有成员。
  237.  
  238. $ret = $redis->sMembers('myset');
  239.  
  240. //判断指定元素是否是指定集合的成员,是返回true,否则返回false。
  241.  
  242. $ret = $redis->sismember('myset', 'hello');
  243.  
  244. //返回集合中元素的数量。
  245.  
  246. $ret = $redis->scard('myset');
  247.  
  248. //移除并返回集合中的一个随机元素。
  249.  
  250. $ret = $redis->sPop('myset');
  251.  
  252. //返回集合中的一个或多个随机成员元素,返回元素的数量和情况由函数的第二个参数count决定:
  253.  
  254. //如果count为正数,且小于集合基数,那么命令返回一个包含count个元素的数组,数组中的元素各不相同。
  255.  
  256. //如果count大于等于集合基数,那么返回整个集合。
  257.  
  258. //如果count为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为count的绝对值。
  259.  
  260. $ret = $redis->sRandMember('myset', 2);
  261.  
  262. //移除集合中指定的一个元素,忽略不存在的元素。删除成功返回1,否则返回0。
  263.  
  264. $ret = $redis->srem('myset', 'hello');
  265.  
  266. //迭代集合中的元素。
  267.  
  268. //参数:key,迭代器变量,匹配模式,每次返回元素数量(默认为10个)
  269.  
  270. $ret = $redis->sscan('myset', $it, 'a*', 5);
  271.  
  272. //将指定成员从一个源集合移动到一个目的集合。若源集合不存在或不包含指定元素则不做任何操作,返回false。
  273.  
  274. //参数:源集合,目标集合,移动元素
  275.  
  276. $ret = $redis->sMove('myset', 'myset2', 'aaa');
  277.  
  278. //返回所有给定集合之间的差集,不存在的集合视为空集。
  279.  
  280. $ret = $redis->sDiff('myset', 'myset2', 'myset3');
  281.  
  282. //将所有给定集合之间的差集存储在指定的目的集合中。若目的集合已存在则覆盖它。返回差集元素个数。
  283.  
  284. //参数:第一个参数为目标集合,存储差集。
  285.  
  286. $ret = $redis->sDiffStore('myset3', 'myset', 'myset2');
  287.  
  288. //返回所有给定集合的交集,不存在的集合视为空集。
  289.  
  290. $ret = $redis->sInter('myset', 'myset2', 'myset3');
  291.  
  292. //将所有给定集合的交集存储在指定的目的集合中。若目的集合已存在则覆盖它。返回交集元素个数。
  293.  
  294. //参数:第一个参数为目标集合,存储交集。
  295.  
  296. $ret = $redis->sInterStore('myset4', 'myset', 'myset2', 'myset3');
  297.  
  298. //返回所有给定集合的并集,不存在的集合视为空集。
  299.  
  300. $ret = $redis->sUnion('myset', 'myset2', 'myset3');
  301.  
  302. //将所有给定集合的并集存储在指定的目的集合中。若目的集合已存在则覆盖它。返回并集元素个数。
  303.  
  304. //参数:第一个参数为目标集合,存储并集。
  305.  
  306. $ret = $redis->sUnionStore('myset4', 'myset', 'myset2', 'myset3');
  307.  
  308. 六、Zset操作
  309. //将一个或多个成员元素及其分数值加入到有序集当中。如果某个成员已经是有序集的成员,则更新这个成员的分数值,并通过重新插入这个成员元素,来保证该成员在正确的位置上。分数值可以是整数值或双精度浮点数。
  310.  
  311. $ret = $redis->zAdd('scores', 98, 'English', 90, 'physics');
  312.  
  313. //返回有序集中指定区间内的成员。成员按分数值递增排序,分数值相同的则按字典序来排序。
  314.  
  315. //参数:第四个参数表示是否返回各个元素的分数值,默认为false。
  316.  
  317. $ret = $redis->zRange('scores', 0, -1, true);//查看Zset所有成员以及它们各自的分数值
  318.  
  319. //返回有序集中指定区间内的成员。成员按分数值递减排序,分数值相同的则按字典序的逆序来排序。
  320.  
  321. $ret = $redis->zReverseRange('scores', 0, -1, true);
  322.  
  323. //返回有序集中指定分数区间的成员列表,按分数值递增排序,分数值相同的则按字典序来排序。默认使用闭区间。
  324.  
  325. $ret = $redis->zRangeByScore('scores', 90, 100, ['withscores'=>true]);
  326.  
  327. //返回有序集中指定分数区间的成员列表,按分数值递减排序,分数值相同的则按字典序的逆序来排序。注意,区间表示的时候大值在前,小值在后,默认使用闭区间。
  328.  
  329. $ret = $redis->zRevRangeByScore('scores', 100, 90, ['withscores'=>true]);
  330.  
  331. //迭代有序集合中的元素。
  332.  
  333. //返回值:[元素名=>分数值,,..]
  334.  
  335. $ret = $redis->zscan('scores', $it, '', 10);
  336.  
  337. //返回指定有序集的元素数量。
  338.  
  339. $ret = $redis->zCard('scores');
  340.  
  341. //返回有序集中指定分数区间的成员数量。
  342.  
  343. $ret = $redis->zCount('scores', 90, 100);
  344.  
  345. //返回有序集中指定成员的分数值。若成员不存在则返回false。
  346.  
  347. $ret = $redis->zScore('scores', 'math');
  348.  
  349. //返回有序集中指定成员的排名,按分数值递增排序。分数值最小者排名为0。
  350.  
  351. $ret = $redis->zRank('scores', 'chemistry');
  352.  
  353. //返回有序集中指定成员的排名,按分数值递减排序。分数值最大者排名为0。
  354.  
  355. $ret = $redis->zRevRank('scores', 'chemistry');
  356.  
  357. //移除有序集中的一个或多个成员,忽略不存在的成员。返回删除的元素个数。
  358.  
  359. $ret = $redis->zRem('scores', 'chemistry', 'English');
  360.  
  361. //移除有序集中指定排名区间的所有成员。
  362.  
  363. $ret = $redis->zRemRangeByRank('scores', 0, 2);
  364.  
  365. //移除有序集中指定分数值区间的所有成员。
  366.  
  367. $ret = $redis->zRemRangeByScore('scores', 80, 90);
  368.  
  369. //对有序集中指定成员的分数值增加指定增量值。若为负数则做减法,若有序集不存在则先创建,若有序集中没有对应成员则先添加,最后再操作。
  370.  
  371. $ret = $redis->zIncrBy('scores', 2, 'Chinese');
  372.  
  373. //计算给定一个或多个有序集的交集,并将其存储到一个目的有序集中。结果集中某个成员的分数值是所有给定集下该成员分数值之和。
  374.  
  375. $ret = $redis->zinterstore('zset3', 'zset2', 'zset1');
  376.  
  377. //计算给定一个或多个有序集的并集,并将其存储到一个目的有序集中。结果集中某个成员的分数值是所有给定集下该成员分数值之和。
  378.  
  379. $ret = $redis->zunionstore('zset3', 'zset2', 'zset1');

PHP操作Redis常用的更多相关文章

  1. PHP操作Redis常用技巧

    这篇文章主要介绍了PHP操作Redis常用技巧,结合实例形式总结分析了php针对redis的连接.认证.string.hash等操作技巧与注意事项,需要的朋友可以参考下 本文实例讲述了PHP操作Red ...

  2. PHP操作Redis常用技巧总结

    一.Redis连接与认证 //连接参数:ip.端口.连接超时时间,连接成功返回true,否则返回false $ret = $redis->connect('127.0.0.1', 6379, 3 ...

  3. PHP操作Redis常用技巧总结【转】

    一.Redis连接与认证 //连接参数:ip.端口.连接超时时间,连接成功返回true,否则返回false $ret = $redis->connect('127.0.0.1', 6379, 3 ...

  4. php 操作 redis 常用命令

    原文地址: https://www.cnblogs.com/zhanghanwen16/p/9510481.html 1.redis连接与认证 //连接参数:ip.端口.连接超时时间,连接成功返回tr ...

  5. Redis常用命令代码实例集合

    //连接本地的 Redis 服务 $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $redis->auth('12345 ...

  6. 【redis】redis常用命令及操作记录

    redis-cli是Redis命令行界面,可以向Redis发送命令,并直接从终端读取服务器发送的回复. 它有两种主要模式:一种交互模式,其中有一个REPL(read eval print loop), ...

  7. 第三百节,python操作redis缓存-其他常用操作,用于操作redis里的数据name,不论什么数据类型

    python操作redis缓存-其他常用操作,用于操作redis里的数据name,不论什么数据类型 delete(*names)根据删除redis中的任意数据类型 #!/usr/bin/env pyt ...

  8. redis常用的命令行以及操作

    redis常用的命令行以及操作 转载酱紫人的理直气壮 最后发布于2018-07-30 17:00:41 阅读数 805  收藏 转载地址:https://blog.csdn.net/li_lening ...

  9. Redis常用数据类型以及操作

    Redis常用数据类型以及操作 目录 Redis常用数据类型以及操作 一.String数据类型 1. SET/GET/APPEND/STRLEN 2. INCR/DECR/INCRBY/DECRBY ...

随机推荐

  1. python学习:python的星号(*)和双星号(**)用法

    原帖地址见:[Python]-12-星号变量的特殊用法 在Python中,星号除了用于乘法数值运算和幂运算外,还有一种特殊的用法"在变量前添加单个星号或两个星号",实现多参数的传入 ...

  2. mysql 好用的sql语句

    1.删除某个库里面全部的表 ,先在mysql库中执行:  SELECT CONCAT('drop table ',table_name,';') FROM information_schema.`TA ...

  3. Delphi字符串转日期,强大到窒息,VarToDateTime解决了困扰很久的小问题

    procedure THRForm.Button1Click(Sender: TObject); var D:TDateTime; s:string; begin D:=VarToDateTime(' ...

  4. Entity Framework(EF) Code First将实体中的string属性映射成text类型的几种方式

    1.通过ColumnType属性设置 [Column(TypeName="text")] public string Text { get; set; } 在进行以上属性设置时,请 ...

  5. Cannot read lifecycle mapping metadata for artifact org.apache.maven.plugins问题的解决

    今天换了个maven仓库,结果新建maven工程的时候,忽然报错: Cannot read lifecycle mapping metadata for artifact org.apache.mav ...

  6. 51nod 1476 括号序列的最小代价(贪心+优先队列)

    题意 我们这有一种仅由"(",")"和"?"组成的括号序列,你必须将"?"替换成括号,从而得到一个合法的括号序列. 对于 ...

  7. 【刷题】BZOJ 2287 【POJ Challenge】消失之物

    Description ftiasch 有 N 个物品, 体积分别是 W1, W2, ..., WN. 由于她的疏忽, 第 i 个物品丢失了. "要使用剩下的 N - 1 物品装满容积为 x ...

  8. 【刷题】BZOJ 1124 [POI2008]枪战Maf

    Description 有n个人,每个人手里有一把手枪.一开始所有人都选定一个人瞄准(有可能瞄准自己).然后他们按某个顺序开枪,且任意时刻只有一个人开枪.因此,对于不同的开枪顺序,最后死的人也不同. ...

  9. Android Service总结05 之IntentService

    Android Service总结05 之IntentService   版本 版本说明 发布时间 发布人 V1.0 添加了IntentService的介绍和示例 2013-03-17 Skywang ...

  10. Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction 异常一例

    参考下面的文章,最终找到我的报错原因: 我是在 service中一个以 get开头的方法中,加入了一行数据库数据删除代码,因为 spring的事务配置中,配置了get开头的方法 是 readonle的 ...