首页 > 数据库 >redis使用

redis使用

时间:2024-04-26 10:26:43浏览次数:25  
标签:set redis nx 使用 print True pool

Python redis 使用介绍 | 菜鸟教程 (runoob.com)

Python操作Redis,你要的都在这了! - John-Python - 博客园 (cnblogs.com)

redis 基本命令 String

set(name, value, ex=None, px=None, nx=False, xx=False)

在 Redis 中设置值,默认,不存在则创建,存在则修改。

参数:

  • ex - 过期时间(秒)
  • px - 过期时间(毫秒)
  • nx - 如果设置为True,则只有name不存在时,当前set操作才执行
  • xx - 如果设置为True,则只有name存在时,当前set操作才执行

1.ex - 过期时间(秒),px - 过期时间(豪秒); 这里过期时间是3秒,3秒后p,键food的值就变成None(用完销毁)

import redis  # 导入redis 模块
import time

pool = redis.ConnectionPool(host='47.92.84.209', port=6379, password='123456', decode_responses=True)
r = redis.Redis(connection_pool=pool)
r.set('food', 'mutton', ex=3)
print(r.get('food'))  # mutton

time.sleep(4)
print(r.get('food'))  # None

2.nx - 如果设置为True,则只有name不存在时,当前set操作才执行 (新建)(避免录重)

pool = redis.ConnectionPool(host='47.92.84.209', port=6379, password='123456', decode_responses=True)
r = redis.Redis(connection_pool=pool)

print(r.set('fruit', 'watermelon', nx=True))  # True
print(r.set('fruit', 'watermelon', nx=True))  # None

4.xx - 如果设置为True,则只有name存在时,当前set操作才执行 (修改)(检查有无)

pool = redis.ConnectionPool(host='47.92.84.209', port=6379, password='123456', decode_responses=True)
r = redis.Redis(connection_pool=pool)

print((r.set('fruit', 'watermelon', nx=True)))   # True--已经存在
print(r.get('fruit'))  #watermelon
print((r.set('fruit', 'watermelon2', xx=True)))
print(r.get('fruit'))  #watermelon2

标签:set,redis,nx,使用,print,True,pool
From: https://www.cnblogs.com/DQ-MINE/p/18159388

相关文章

  • Redis过期策略
    在Redis中提供了两种数据过期删除策略:惰性删除:在设置该key过期时间后,我们不去管它。当需要该key时,我们会检查其是否过期,如果过期,就删除它;反之,返回该key。定期删除:每隔一段时间,我们会对一些key进行检查,删除其中过期的key。定期清理有两种模式:SLOW模式:使用定时任务,执行频率......
  • dotnet 使用 MSTestRunner 将单元测试制作为独立可执行文件
    以往的单元测试都是不能单独作为一个独立的可执行文件跑的,需要在VisualStudio或VSTest或dotnettest里面运行。这就限制了运行单元测试的环境了,有时候开发者可能期望在无SDK或开发环境下执行单元测试,这时就可以用到本文介绍的MSTestRunner功能,将单元测试制作为独立可执......
  • dotnet C# 使用 Win32 函数获取用户下载文件夹的路径的方法
    大家都知道,在dotnet里面的可以使用Environment.GetFolderPath方法配合Environment.SpecialFolder枚举列出当前运行环境下的一些特殊文件夹。然而SpecialFolder枚举不包含对Download下载文件夹的枚举值,如咱需要获取用户当前的下载文件夹,需要使用Win32方法来辅助获取在......
  • 使用 ForAttributeWithMetadataName 提高 IIncrementalGenerator 增量 Source Generat
    本文将告诉大家如何使用ForAttributeWithMetadataName方法用来提高IIncrementalGenerator增量SourceGenerator源代码生成的开发效率以及提高源代码生成器的运行效率这是一个在2022的6月15才合入的新功能。原因是Roslyn团队发现了大量的源代码生成器和分析器项目都......
  • NFT tokenURI使用去中心化IPFS链接
    前言tokenURI指向存放NFTMetadata信息的json文件所在的URLjson文件最好用去中心化方式存储,例如IPFS 使用IPFS存储文件自己搭建IPFS需要下载客户端和保持节点运行较麻烦,我们可采用第三方服务商提供的服务例如Pinata、4everland等,我们以4everland(4everland.org)......
  • v-for 循环时直接使用 v-model 绑定报错
    报错信息:Youarebindingv-modeldirectlytoav-foriterationalias.Thiswillnotbeabletomodifythev-forsourcearraybecausewritingtothealiasislikemodifyingafunctionlocalvariable. 错误代码<divv-for="(item,index)indata":key......
  • 使用docker部署livox_camera_calib环境
    ROS系统安装使用fishros的一键安装脚本,选择ros1的kinetic版本。具体安装以及连接容器过程可查看视频Docker版ROS安装。注意:启动容器时应从命令行启动,不要在vscode中连接容器。否则在启动rviz时,程序会找不到显示输出设备,rviz会直接die。环境配置安装完Docker版本ROS后需要的再......
  • github只下载某个文件或文件夹(使用GitZip插件)
    安装GitZip插件(此安装过程需要梯子(不懂“梯子”,百度一下就明白))1.打开插件管理页面方法一:打开Chrome浏览器(Edge浏览器同理),在Chrom地址栏输入chrome://extensions/,或edge地址栏edge://extensions/进入插件管理页面。方法二:直接Chrome浏览器找管理页面(Edge浏览器同理)......
  • SQL SERVER中的字符类型使用Unicode
    字符编码和排序规则下面的讨论用到W、王和......
  • HarmonyOS 项目中泛型的使用
    泛型(Generics)概述泛型是一种编程语言特性,它支持类型参数化,使得定义的类、接口和方法可以适用于多种类型,而不仅仅是固定的一种类型。理解泛型泛型允许在定义接口时,让参数的类型更加灵活,从而使得功能更加强大。简而言之,泛型提供了一种方式,让代码能够适应不同的数据类型,而不需要为......