redis set nx
时间: 2023-10-14 08:29:37 浏览: 126
The `NX` option in Redis `SET` command stands for "Not eXists". When using `SET` with `NX` option, Redis will only set the key if it does not already exist. If the key already exists, no operation is performed.
Syntax: `SET key value NX`
Example:
```
> SET mykey "hello"
OK
> SET mykey "world" NX
(nil)
> GET mykey
"hello"
```
In the above example, the first `SET` command sets the value of `mykey` to `"hello"`. The second `SET` command with `NX` option tries to set the value of `mykey` to `"world"`, but it fails because `mykey` already exists. The `GET` command confirms that the value of `mykey` remains as `"hello"`.
相关问题
tp5 redis set nx
在ThinkPHP5中,使用Redis的SET NX命令可以实现设置键值对时的防重复功能。SET NX是Redis中的命令,它的含义是只有在键不存在的情况下才进行设置。引用 SETNX可以用于实现锁的效果。
不过,从Redis 2.6.12版本开始,SET命令已经包含了SETNX的功能,并且SET命令本身已经具备了设置过期时间的功能。所以在TP5中,可以直接使用SET命令来实现SET NX的功能。引用<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [Redis的SETNX的使用方法](https://blog.csdn.net/weixin_39658318/article/details/116097563)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
redis set
Redis中的SET命令用于添加一个或多个指定的成员到集合中,如果键已经存在并且其值是一个集合,则添加成员到集合中。SET命令是原子操作,这意味着在执行过程中不会被其他命令中断。SET命令可以用来实现各种集合运算,比如交集、并集、差集等。以下是SET命令的基本用法:
1. 添加单个元素到集合中:
```
SET key member [NX] [XX] [EX seconds] [PX milliseconds] [KEEPTTL]
```
其中,`key` 是集合的名称,`member` 是要添加的元素,`NX` 表示仅当键不存在时才添加,`XX` 表示仅当键存在时才添加,`EX` 设置键的过期时间(以秒为单位),`PX` 设置键的过期时间(以毫秒为单位),`KEEPTTL` 保持原有过期时间不变。
2. 添加多个元素到集合中:
```
SADD key member [member ...]
```
`SADD` 是 Redis 为 SET 命令提供的另一个接口,用于一次添加多个成员。
以下是SET命令的几个常见应用场景:
- 去重:由于集合不允许有重复的成员,可以用来记录唯一的数据。
- 点赞功能:可以将用户ID添加到某个主题的点赞集合中。
- 关注系统:用户关注的主题或者人可以被存储在集合中。
阅读全文