String操作,redis中的String在在内存中按照一个name对应一个value来存储。如图:
  • set(name, value, ex=None, px=None, nx=False, xx=False)
  • # 在Redis中设置值,默认,不存在则创建,存在则修改
  • 参数:
    ex,过期时间(秒)
    px,过期时间(毫秒)
    nx,如果设置为True,则只有name不存在时,当前set操作才执行
    xx,如果设置为True,则只有name存在时,岗前set操作才执行
  • setnx(name, value)
  • # 设置值,只有name不存在时,执行设置操作(添加)
  • setex(name, value, time)
  • # 设置值
  • # 参数:
    # time,过期时间(数字秒 或 timedelta对象)
  • psetex(name, time_ms, value)
  • # 设置值
  • # 参数:
    # time_ms,过期时间(数字毫秒 或 timedelta对象)
  • mset(*args, **kwargs)
  • # 批量设置值
  • 如:
    mset(k1='v1', k2='v2')

    mget({'k1': 'v1', 'k2': 'v2'})
  • get(name)
  • # 获取值
  • mget(keys, *args)
  • # 批量获取
  • 如:
    mget('ylr', 'wupeiqi')

    r.mget(['ylr', 'wupeiqi'])
  • getset(name, value)
  • # 设置新值并获取原来的值
  • getrange(key, start, end)
  • # 获取子序列(根据字节获取,非字符)
  • # 参数:
    # name,Redis 的 name
    # start,起始位置(字节)
    # end,结束位置(字节)
    # 如: "武沛齐" ,-3表示 "武"
  • setrange(name, offset, value)
  • # 修改字符串内容,从指定字符串索引开始向后替换(新值太长时,则向后添加)
  • # 参数:
    # offset,字符串的索引,字节(一个汉字三个字节)
    # value,要设置的值
  • setbit(name, offset, value)
  • # 对name对应值的二进制表示的位进行操作
  • #使用场景:高并发访问的用户统计
    #可以设置每一个用户为一个bit 10M存上亿用户
    #
    #setbit n1 100用户 #添加100用户存1bit
    #getbit n1 100用户 #查询100用户是否存活 # 参数:
    # name,redis的name
    # offset,位的索引(将值变换成二进制后再进行索引)
    # value,值只能是 或 # 注:如果在Redis中有一个对应: n1 = "foo",
    那么字符串foo的二进制表示为:
    所以,如果执行 setbit('n1', , ),则就会将第7位设置为1,
    那么最终二进制则变成 ,即:"goo" # 扩展,转换二进制表示: # source = "武沛齐"
    source = "foo" for i in source:
    num = ord(i)
    print bin(num).replace('b','') 特别的,如果source是汉字 "武沛齐"怎么办? 答:对于utf-,每一个汉字占 个字节,那么 "武沛齐" 则有 9个字节。 对于汉字,for循环时候会按照 字节 迭代,那么在迭代时,将每一个字节转换 十进制数,然后再将十进制数转换成二进制。
 
  • getbit(name, offset)
  • # 获取name对应的值的二进制表示中的某位的值 (0或1)
  • bitcount(key, start=None, end=None)
  • # 获取name对应的值的二进制表示中 1 的个数
  • # 参数:
    # key,Redis的name
    # start,位起始位置
    # end,位结束位置
  • bitop(operation, dest, *keys)
  • # 获取多个值,并将值做位运算,将最后的结果保存至新的name对应的值
  • strlen(name)
  • # 返回name对应值的字节长度(一个汉字3个字节)
  • incr(self, name, amount=1)
  • # 自增 name对应的值,当name不存在时,则创建name=amount,否则,则自增。
  • # 参数:
    # name,Redis的name
    # amount,自增数(必须是整数) # 注:同incrby
  • incrbyfloat(self, name, amount=1.0)
  • # 自增 name对应的值,当name不存在时,则创建name=amount,否则,则自增。
  • # 参数:
    # name,Redis的name
    # amount,自增数(浮点型)
  • decr(self, name, amount=1)
  • # 自减 name对应的值,当name不存在时,则创建name=amount,否则,则自减。
  • # 参数:
    # name,Redis的name
    # amount,自增数(浮点型)
  • append(key, value)
  • # 在redis name对应的值后面追加内容
  • # 参数:
    key, redis的name
    value, 要追加的字符串

Python Redis string的更多相关文章

  1. [置顶] Redis String类型数据常用的16条命令总结

    Redis String类型数据常用的16条命令总结 描述:String 类型是最简单的类型,一个Key对应一个Value,String类型是二进制安全的.Redis的String可以包含任何数据,比 ...

  2. python的string用法

    s.strip().lstrip().rstrip(',') S.lower() #小写 S.upper() #大写 S.swapcase() #大小写互换 S.capitalize() #首字母大写 ...

  3. Python 常用string函数

    Python 常用string函数 字符串中字符大小写的变换 1. str.lower()   //小写>>> 'SkatE'.lower()'skate' 2. str.upper ...

  4. python+redis测试环境搭建

    针对windows操作系统. redis安装: 微软操作系统下,需下载github下面的开源项目,redis网站地址可以找到,直接解压即可. cmd到指定目录,输入下方命令,启动redis服务. re ...

  5. python中string模块各属性以及函数的用法

    任何语言都离不开字符,那就会涉及对字符的操作,尤其是脚本语言更是频繁,不管是生产环境还是面试考验都要面对字符串的操作.     python的字符串操作通过2部分的方法函数基本上就可以解决所有的字符串 ...

  6. Python redis 简单介绍

    Python redis 简单介绍 1.安装 终端输入: pip(or)pip3.6 install redis 安装成功 2.哈哈,发现我并没有redis服务可以访问,所以到这里,在本机安装了red ...

  7. python中string格式化

    python中可以对string, int, float等数据类型进行格式化操作.下面举例来说明一些常用操作. 先贴出 python 对 String Formatting Operations 讲解 ...

  8. C#操作Redis String字符串

    /// <summary> /// Redis String 操作 /// </summary> public static void Redis_String() { Red ...

  9. PyQt的QString和python的string的区别

    转载于http://blog.chinaunix.net/uid-200142-id-4018863.html python的string和PyQt的QString的区别 python string和 ...

随机推荐

  1. A Java back-end engineer's study notes

    loveincode's notes 学习工作中的一些记录,收藏. 人气很高的链接库 计算机基础相关笔记 操作系统 , 编译原理 , 计算机网络 , 互联网协议... 常用数据结构与算法 Java 实 ...

  2. js判断PC端还是移动端

    function goPAGE() { if ((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobi ...

  3. 爬虫IP代理中的http与https

    之前使用代理IP,构造的proxies一直都是http模式 proxies={"http": "http://{}".format(ip)} 但是今天遇到的网站 ...

  4. MySQL数据库(查询语句)

    用户  角色  权限 select * from students1:查询这个表里的数据 select ssex from students1:在这个表里面查询ssex(性别) select dist ...

  5. 《Python编程》课程报告 python技术在数据分析中的应用之网络爬虫

      摘要:... 2 1       引言 :... 2 1.1课题研究背景和研究现状... 2 1.1.1课题背景和目的... 3 1.1.2研究现状... 4 1.1.2.1语言... 4 1.1 ...

  6. HR在ERP实施过程中的作用

    ERP实施涉及到部门职责.个人职责的改变,在实施过程中HR有着不可估量的作用: 实施制度设计 包括如何对实施人员的激励,对实施人员进行合理的岗位职责调整: 某些企业在实施ERP时自项目经理到关键用户都 ...

  7. 【托业】【新东方托业全真模拟】TEST09~10-----P5~6

    at no time 绝不,从不 takeover 收购 startup n.启动; 新兴公司(尤指新兴网络公司); 新兴公司,新开张的企业; specific具体的,特定的:factual 事实的, ...

  8. 利用python脚本(re)抓取美空mm图片

    很久没有写博客了,这段时间一直在搞风控的东西,过段时间我把风控的内容整理整理发出来大家一起研究研究. 这两天抽空写了两个python爬虫脚本,一个使用re,一个使用xpath. 直接上代码——基于re ...

  9. dll静态调用和动态调用

    动态链接库有2种连接方式,一种是通过库直接加入(又叫隐式加载或载入时加载),一种是在运行时加入.后者很好理解,比如LoadLibrary(),GetProcAddress()获取想要引入的函数,使用完 ...

  10. Windows平台ping测试局域网所有在用IP

    由于工作需要,我在家里搭建了很多VM,同时智能家居设备也占用了很多IP.平日偶尔会有确认局域网内哪些IP目前在用的需求. 这个需求很简单,直接从网上也可以搜索到很多答案,最终找到一个经实际测试可用的方 ...