python学习之-- redis模块操作 string
redis 模块操作之--> String
String:redis中的string在内存中按照一个key 对应一个 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) == set(name,value,nx=True)
setex(name,value,time) == set(name,value,ex=秒)
psetex(name,time_ms,value) == set(name,value,px=毫秒)
举例:
r.set('name','jack') # 初始值
# r.set('name','jack',ex=2) # 过期时间2秒
# r.set('name','jack',px=2) # 过期时间2毫秒
# time.sleep(3)
# r.set('name','JACK',nx=True) # 当name不存在则执行 --输出jack
# r.set('name','JACK',xx=True) # 当name存在则执行 --输出JACK
# print(r.get('name'))
mset(*args,**kwargs):批量设置值
举例:
r.mset(k1='v1',k2='v2')
print(r.mget('k1','k2'))
get(name):获取值
mget(keys,*args):批量获取。
mget('k1','k2')
getset(name,value):设置新值并获取原来的值
举例:
r.set('name','jack') # 初始值
print(r.getset('name','JACK')) # 打印初始值并设置新值
print(r.get('name')) # 打印新值
getrange(key,start,end):对key的值根据start,end进行切片
key:redis 键名
start:字串的起始位置(字节) end:字串的结束位置(字节)
举例:
r.set('name','jack') # 初始值
print(r.getrange('name',1,3))
setrange(name,offset,value):修改字符串内容,从指定字符串索引开始向后替换(新增太长时,则向后添加)
offset:字符串的索引,字节(一个汉字3个字节)
value:要设置的值
举例;
r.set('name','jack') # 初始值
r.setrange('name',1,'E')
print(r.get('name'))
setbit(name,offset,value):对name对应值的二进制表示的位进行操作
offset:位的索引(将值变换成二进制后再进行索引)
value:值只能是1或0
转换为二进制方法为:先转换为ascii编码,然后在转换为二进制码如下:
print(ord('a')) --》asc码
print(bin(97)) --》 二进制码
举例:
# 注:如果在Redis中有一个对应: n1 = "foo",
那么字符串foo的二进制表示为:01100110 01101111 01101111
所以,如果执行 setbit('n1', 7, 1),则就会将第7位设置为1,
那么最终二进制则变成 01100111 01101111 01101111,即:"goo"
getbit(name,offset):获取name对应的值的二进制表示中的某位的值
print(r.getbit('name',20)) #就是name值的二进制第20位是0还是1
bitcount(key,start=None,end=None):获取name对应的值的二进制表示中1的个数
start:可以指定起始位置,end:解释位置
print(r.bitcount('name')) # 打印二进制中1的个数
bitop(operation,dest,*keys):获取多个值,并将值做位运算,将最后的结果保存到新的name对应的值(用处少)
strlen(name):返回Name对应值的字节长度(一个汉字3个字节).
print(r.strlen('name'))
incr(name,amount=1):自增name对应的值(必须为数字),当name不存在时,则创建name=amount,否则,则自增
name: redis的name , amount:自增数(必须为整数)
r.set('age',10)
print(r.incr('age',amount=2))
incrbyfloat(name,amount=1.0):同上,浮点型自增。
decr(name,amount=1):自减name的值,当name不存在时,则创建name=amount,否则,则自减。使用同上
append(key,value):在redis name对应的值后面追加内容
key:redis的name
value:要追加的字符串
r.set('name','jack') # 初始值
r.append('name','is name') # 追加内容
print(r.get('name'))
输出:b'jackis name'
python学习之-- redis模块操作 string的更多相关文章
- python学习之-- redis模块操作 集合和有序集合
redis 模块操作之 集合set和有序集合zset Set 集合操作,不允许重复的列表sadd(name,value):name对应的集合中添加元素scard(name):获取name对应的集合中元 ...
- python学习之-- redis模块操作 LIST
redis 模块操作之 List List 操作,在内存中按照一个name对应一个List来存储. lpush(name,values):在name对应的list中添加元素,每个新的元素都添加到列表的 ...
- python学习之-- redis模块操作 HASH
redis 操作 之 -Hash Hash 操作:hash在内存中的存储格式 name hash n1 ------> k1 -> v1 k2 -> v2 k3 -> v3hs ...
- python学习之-- redis模块管道/订阅发布
redis 模块操作剩余其他常用操作 delete(*names):删除任意的数据类型exists(name):检测redis的name是否存在keys(pattern='*'):根据模型获取redi ...
- python学习之-- redis模块基本介绍
数据缓存系统: 1:mongodb:是直接持久化,直接存储于硬盘的缓存系统 2:redis: 半持久化,存储于内存和硬盘 3:memcache:数据只能存储在内存里的缓存系统关于memcache 学习 ...
- Python学习 Part4:模块
Python学习 Part4:模块 1. 模块是将定义保存在一个文件中的方法,然后在脚本中或解释器的交互实例中使用.模块中的定义可以被导入到其他模块或者main模块. 模块就是一个包含Python定义 ...
- python学习之argparse模块
python学习之argparse模块 一.简介: argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块.argparse模块的作用是用于解析命令行 ...
- Python学习day18-常用模块之NumPy
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- Python学习day19-常用模块之re模块
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
随机推荐
- Unity复杂的旋转-欧拉角和四元数
一.欧拉角欧拉角最容易表示,用三个变量X,Y,Z可以直观的表示绕着某个轴的旋转角度. 在Unity里就是Transform组件的Rotation里的X Y Z三个变量代表了欧拉角 二.四元数四元数相比 ...
- JavaScript轮播图
需求: 鼠标移动到下标页码时,也转换到相对应的图片: 多张图片可以自动轮播: 鼠标移动至图片时,停止自动轮播: 可以手动左右调节: <!DOCTYPE html> <html lan ...
- 对faster rcnn代码讲解的很好的一个
http://www.cnblogs.com/houkai/p/6824455.html http://blog.csdn.net/u014696921/article/details/6032142 ...
- django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module
pip3 install mysqlclient try again python manage.py makemigrations python manage.py migrate
- 21. SCHEMATA
21. SCHEMATA 在MySQL中,SCHEMA是数据库,因此SCHEMATA表提供有关数据库的信息. SCHEMATA表有以下列: CATALOG_NAME :SCHEMA所属目录的名称.该值 ...
- 文本三剑客之grep
接受正则表达式,按行匹配,将会过滤出匹配的所有行 格式: grep [OPTION]... PATTERN [FILE]... 可以看出,grep后可以同时接多个文件 选项OPTIO ...
- 【Java】Class文件编译的版本号与JDK版本号的对应关系
查看方式 使用文本编辑器EmEditor以16进制方式打开.class文件 图中红框中的代表版本号52.0 次版本号:00 00 (小数点后面的部分) 主版本号:00 34 (小数点前面的部分 ...
- Centos7 使用firewall管理防火墙
一.Centos7使用firewall的管理防火墙 1.firewalld基本使用 启动:systemctl start firewalld 关闭:systemctl stop firewalld 状 ...
- 如何用纯 CSS 创作一个金属光泽 3D 按钮特效
效果预览 在线演示 按下右侧的"点击预览"按钮在当前页面预览,点击链接全屏预览. https://codepen.io/zhang-ou/full/MGeRRO 可交互视频教程 此 ...
- Python之微信-微信好友头像合成
仔细看下图,你的头像就藏在里面哦!!! 有没有犯密集恐惧症?这并不震撼,如果你有 5000 位好友的话,做出来的图看着会更刺激些. 看完了图,你可能想知道这个图咋做出来的,不会是我闲着无聊把把好友头像 ...