首页 > 其他 > 详细

Redis 入门 3.2.2 命令

时间:2019-05-31 15:54:47      阅读:111      评论:0      收藏:0      [点我收藏+]

Redis 入门 3.2 字符串类型

3.2.2 命令

1. 获得符合规则的键名列表

SET key value
GET key

??SET和GET是Redis中最简单的两个命令,他们实现的功能和编程语言中的读写变量相似。

2. 递增数字

INCR key

??当储存的字符串是整数形式的,Redis提供了一个实用的命令INCR,其作用是让当前键值递增,并返回递增后的值。

??有些读者回想到可以借助GET和SET两个命令自己实现incr函数,伪代码如下:

def incr($key)
    $value = GET $key
    if not $value
        $value = 0
    $value = $value + 1
    SET $key, $value
    return $value

??如果Redis同时只连接了一个客户端,那么上面的代码没有任何问题(其实还没有加入错误处理,不过这并不是此处讨论的重点)。可当同一时间有多个客户端连接到Redis是则有坑出现竞态条件(race condition)。例如,有两个客户端A和B都要执行我们自己实现的incr函数并准备将同一个键的键值递增,当它们恰好同时执行到代码第二行时二者读取到的键值是一样的,如”5“,而后它们个自己讲该值递增到”6“并使用SET命令讲其赋值个原键,结果虽然对键执行了量词递增操作(atomic operation),无论多少个客户端同时连接,都不会出现上述情况。之后我们还会介绍利用事务和脚本实现自定义的原子操作的方法。

Redis 入门 3.2.2 命令

原文:https://www.cnblogs.com/gaara0305/p/10955139.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!