首页 > 数据库 >Redis的使用

Redis的使用

时间:2023-06-28 20:26:18浏览次数:64  
标签:hash name Redis redis value key 使用 对应

redis 字符串类型操作

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

在Redis中设置值,默认,不存在则创建,存在则修改
参数:
     ex,过期时间(秒)
     px,过期时间(毫秒)
     nx,如果设置为True,则只有name不存在时,当前set操作才执行,值存在,就修改不了,执行没效果
     xx,如果设置为True,则只有name存在时,当前set操作才执行,值存在才能修改,值不存在,不会设置新值

get(name)

获取值

strlen(name)

# 返回name对应值的字节长度(一个汉字3个字节)

append(key, value)

# 在redis name对应的值后面追加内容
 
# 参数:
    key, redis的name
    value, 要追加的字符串

incr(self, name, amount=1)

# 自增 name对应的值,当name不存在时,则创建name=amount,否则,则自增。
 
# 参数:
    # name,Redis的name
    # amount,自增数(必须是整数)
 
# 注:同incrby

decr(self, name, amount=1)

# 自减 name对应的值,当name不存在时,则创建name=amount,否则,则自减。
 
# 参数:
    # name,Redis的name
    # amount,自减数(整数)

# 注:同decrby

redis Hash类型操作

hset(name, key, value)

# name对应的hash中设置一个键值对(不存在,则创建;否则,修改)
 
# 参数:
    # name,redis的name
    # key,name对应的hash中的key
    # value,name对应的hash中的value
 
# 注:
    # hsetnx(name, key, value),当name对应的hash中不存在当前key时则创建(相当于添加)

hget(name,key)

# 在name对应的hash中获取根据key获取value

hlen(name)

# 获取name对应的hash中键值对的个数

redis Hash类型操作

lpush(name,values)

# 在name对应的list中添加元素,每个新的元素都添加到列表的最左边
 
# 如:
    # r.lpush('oo', 11,22,33)
    # 保存顺序为: 33,22,11
 
# 扩展:
    # rpush(name, values) 表示从右向左操作

lpop(name)

# 在name对应的列表的左侧获取第一个元素并在列表中移除,返回值则是第一个元素
 
# 更多:
    # rpop(name) 表示从右向左操作

linsert(name, where, refvalue, value))

# 在name对应的列表的某一个值前或后插入一个新值
 
# 参数:
    # name,redis的name
    # where,BEFORE或AFTER(小写也可以)
    # refvalue,标杆值,即:在它前后插入数据(如果存在多个标杆值,以找到的第一个为准)
    # value,要插入的数据

r.lset(name, index, value)

# 对name对应的list中的某一个索引位置重新赋值
 
# 参数:
    # name,redis的name
    # index,list的索引位置
    # value,要设置的值

llen(name)

# name对应的list元素的个数

lrange(name, start, end)

# 在name对应的列表分片获取数据
# 参数:
    # name,redis的name
    # start,索引的起始位置
    # end,索引结束位置  print(re.lrange('aa',0,re.llen('aa')))

更详细的操作参考  刘sir

 

标签:hash,name,Redis,redis,value,key,使用,对应
From: https://www.cnblogs.com/shajue/p/17512446.html

相关文章

  • Docker数据管理_为什么使用数据卷
    Docker数据管理_为什么使用数据卷什么是容器数据卷Docker中的数据可以存储在类似于虚拟机磁盘的介质中,在Docker中称为数据卷(DataVolume)思考Docker容器删除后,在容器中产生的数据还在吗?Docker容器和外部机器可以直接交换文件吗?容器之间能进行数据交互?数据卷概念......
  • 【Java技术专题】「Guava开发指南」手把手教你如何进行使用Guava工具箱进行开发系统实
    为什么要使用不可变集合不可变集合包括元组和冻结集合,其特点是不能被修改。元组有序、不可变、可包含不同类型元素,不能进行修改、删除操作,可通过索引访问元素。冻结集合是一种无序的集合类型,内部元素不能修改、添加或删除,因此常用于处理集合的不可变。不可变对象有很多优点不可变对......
  • Spring之Bean后处理器——InstantiationAwareBeanPostProcessor的使用与源码解析
    <divclass="operating"><aclass="href-article-editslide-toggle">版权</a></div></div></div></div><divid="blogHuaweiyunAdvert"></d......
  • linux安装redis
    官网下载redisIndexof/releases/(redis.io)选择一个版本用xftp传到linux中,并且解压解压命令tar-xvffilename.tar.gz 进入解压后的redis目录中,执行安装命令makeinstall 进入utils目录中 执行install_server.sh,并且一直回车,就是全部配置都是默认的 安装......
  • D365: 费用报销使用OCR扫描收据
    1,在LCS安装ExpenseManagement插件2,在FeatrueManagement启用Expensereportsre-imaginedAuto-matchandcreateexpensefromreceipt3,打开Expensemanagementparameters设置ReceiptcaptureURL:https://expenseservice.operations365.dynamics.com/api/receipt 5......
  • JMeter使用学习记录
    一、安装1.下载JMeterhttps://jmeter.apache.org/download_jmeter.cgi下载安装文件到本地2.安装JDKhttps://www.oracle.com/java/technologies/downloads/3.切换中文进入bin文件夹打开jmeter.properties#language=en下增加#language=zh_CN二、使用1.进入安装文件夹......
  • 【Java】使用 fasterxml.jackson 反序列化的一个注意事项
    我们在对接接口时,不时会遇到以Json格式返回数据的接口。后端解析此类接口返回数据时,不免需要进行反序列化以获取到需要的数据对象。常用的反序列化工具有 Fastjson、Jackson、Gson。这三种都是不错的Json处理工具,我这里较常用的是Jackson。使用 Jackson反序列化:1.......
  • js promise对象数组,使用reduce序列化执行
    自己使用mdn官方例子测试了一下,发现还有一些小问题,调试了一下OK了。consttimeOut=function(ms){ returnnewPromise(function(resolve){ returnsetTimeout(resolve,ms); })}varp1=function(){ returnnewPromise(function(resolve){ console.log(newDate()+'......
  • 一文搞懂什么是@Component和@Bean注解以及如何使用(包括与@Controller、@Service、@Re
      来源  https://blog.csdn.net/m0_51358164/article/details/126120731一文搞懂什么是@Component和@Bean注解以及如何使用......
  • mybatisplus跨库操作和@Transactional一起使用的问题
    1、当方法使用了@Transactional注解,mybatisplus切换库之前已经有对当前库进行操作的话,切库将不成功;2、当方法使用了@Transactional注解,mybatisplus切换库之前没有对当前库进行操作的话,切库成功,但是@Transactional注解好像没有生效,操作报异常之后上一个操作没有回退;......