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. express中间件--Morgan 日志记录

    Morgan是一个node.js关于http请求的日志中间件 安装模块 npm install morgan --save #保存到package.json的依赖列表1使用方法 在终端打印日志...v ...

  2. MakeFile 详解

    最近在学习Linux下的C编程,买了一本叫<Linux环境下的C编程指南>读到makefile就越看越迷糊,可能是我的理解能不行. 于是google到了以下这篇文章.通俗易懂.然后把它贴出 ...

  3. 使用TensorFlow构建自己的网络

    TensorFlow对我来说,是一个陌生的框架,又很复杂,学起来不是很容易,需要找到合适的方法. 今天从tf.zeros入手,这个函数最简单,但是知道它的源码在哪里吗?后来我发现github上也有很多 ...

  4. python中unicode 和 str相互转化

    python中的str对象其实就是"8-bit string" ,字节字符串,本质上类似java中的byte[]. 而python中的unicode对象应该才是等同于java中的S ...

  5. mybatis02--增删改查

    1.修改StudentDao public interface StudentDao { /** * 新增学生信息 */ void addStudent(Student student); // 新增 ...

  6. mysql limit 性能问题分析

    问题重现 // todo 参考文章: MySQL 单表分页 Limit 性能优化 Scalable MySQL: Avoid offset for large tables 证明为什么用limit时, ...

  7. mui 卡片视图 遮罩蒙版

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  8. Python学习之旅(二十六)

    Python基础知识(25):常用内建模块 1.datetime:处理日期和时间 (1)获取当前日期和时间 from datetime import datetime now = datetime.n ...

  9. mysql中主外键关系

    一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性 外键:是另一表的主键, ...

  10. Android启动页欢迎界面大全 (网址)

    地址:http://download.csdn.net/detail/u013424496/9539810