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. layui---表单验证

    使用layui,使用它的表单验证也是比不可少的,下面就来总结下: <!-- 不用form 用div也可以 --> <form class="layui-form" ...

  2. 关于JAVA项目中的常用的异常处理

    一.简介(摘自百度百科) 异常处理,是编程语言或计算机硬件里的一种机制,用于处理软件或信息系统中出现的异常状况(即超出程序正常执行流程的某些特殊条件). 异常有以下的一些特点: (1)偶然性.程序运行 ...

  3. devmapper: Thin Pool has 154464 free data blocks which is less than minimum required 163840 free dat

    清理exited进程: docker rm $(docker ps -q -f status=exited) 清理dangling volumes: docker volume rm $(docker ...

  4. mysql winx64安装配置方法

    1.mysql-5.7.21-winx64.zip解压到自己指定的路径  2.自己新建Data文件夹和my.ini文件 my.ini内容,直接复制修改路径即可 my.ini需要保存为ANSI格式 ,否 ...

  5. SQL 资源整理

    https://linux.linuxidc.com/index.php 资源链接:linux.linuxidc.com SQL必知必会(第4版)是SQL经典畅销书,内容丰富,简洁实用.本书是麻省理工 ...

  6. Centos7 安装 Ipython的方法

    环境:Centos7 最小化安装yum源设置:阿里的base源和epel源python版本:2.7.5 yum install -y python2-pip.noarchyum install -y ...

  7. Fiddler_内置命令行_03

    Fiddler左下角有一个命令框  [基础命令] [举例说明] ? 回车之后,匹配的内容如下图 stop [断点命令] FIddler断点功能就是将请求截获下来,但是不发送,这个时候你可以干很多事情, ...

  8. iOS 如果页面 A 跳转到 页面 B,A 的 viewDidDisappear 方法和 B 的 viewDidAppear 方法哪个先调用?

    如果页面 A 跳转到 页面 B,A 的 viewDidDisappear 方法和 B 的 viewDidAppear 方法哪个先调用? 1. - (void)pushViewController:(U ...

  9. 详解FPGA中的建立时间与保持时间

    概念对于一个数字系统而言,建立时间和保持时间可以说是基础中的基础,这两个概念就像是数字电路的地基,整个系统的稳定性绝大部分都取决于是否满足建立时间和保持时间.但是对于绝大部分包括我在内的初学者来说,建 ...

  10. Django进阶之查询优化、extra注入SQL及批量创建

    Django查询优化 Django的查询优化用到两个函数——select_related()和prefetch_related(). select_related()用的是连表join的方式,主要处理 ...