您身边的网站建设专家
成功案例

【建站服务】赣州企业网站设计 - 赣州高端网站定制 - 赣州品牌网站搭建 - 上往建站-域名申请

日期: 2022-09-21 04:12:03 浏览数:3


上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


赣州企业网站设计 - 赣州高端网站定制 - 赣州品牌网站搭建 - 上往建站

网站建设.png

赣州企业网站设计 - 赣州高端网站定制 - 赣州品牌网站搭建 - 上往建站

nt(r.set('fruit', 'watermelon', nx=True))    # True--不存在
# 如果键fruit不存在,那么输出是True;如果键fruit已经存在,输出是None

4.xx - 如果设置为True,则只有name存在时,当前set操作才执行 (修改)

实例

print((r.set('fruit', 'watermelon', xx=True)))   # True--已经存在
# 如果键fruit已经存在,那么输出是True;如果键fruit不存在,输出是None

5.setnx(name, value)

设置值,只有name不存在时,执行设置操作(添加)

print(r.setnx('fruit1', 'banana'))  # fruit1不存在,输出为True

6.setex(name, time, value)

设置值

参数:

time - 过期时间(数字秒 或 timedelta对象)

实例

import redis
import time

pool = redis.ConnectionPool(host='localhost', port=6379, decode_responses=True)
= redis.Redis(connection_pool=pool)
r.setex("fruit2", 5, "orange")
time.sleep(5)
print(r.get('fruit2'))  # 5秒后,取值就从orange变成None

7.psetex(name, time_ms, value)

设置值

参数:

time_ms - 过期时间(数字毫秒 或 timedelta对象)

实例

r.psetex("fruit3", 5000, "apple")
time.sleep(5)
print(r.get('fruit3'))  # 5000毫秒后,取值就从apple变成None

8.mset(*args, **kwargs)

批量设置值

如:

实例

r.mget({'k1''v1', 'k2''v2'})
r.mset(k1="v1", k2="v2") # 这里k1 和k2 不能带引号,一次设置多个键值对
print(r.mget("k1", "k2"))   # 一次取出多个键对应的值
print(r.mget("k1"))

9.mget(keys, *args)

批量获取

如:

实例

print(r.mget('k1', 'k2'))
print(r.mget(['k1', 'k2']))
print(r.mget("fruit", "fruit1", "fruit2", "k1", "k2"))  # 将目前redis缓存中的键对应的值批量取出来

10.getset(name, value)

设置新值并获取原来的值

print(r.getset("food", "barbecue"))  # 设置的新值是barbecue 设置前的值是beef

11.getrange(key, start, end)

获取子序列(根据字节获取,非字符)

参数:

如: "君惜大大" ,0-3表示 "君"

实例

r.set("cn_name", "君惜大大") # 汉字
print(r.getrange("cn_name", 0, 2))   # 取索引号是0-2 前3位的字节 君 切片操作 (一个汉字3个字节 1个字母一个字节 每个字节8bit)
print(r.getrange("cn_name", 0, -1))  # 取所有的字节 君惜大大 切片操作
r.set("en_name","junxi") # 字母
print(r.getrange("en_name", 0, 2))  # 取索引号是0-2 前3位的字节 jun 切片操作 (一个汉字3个字节 1个字母一个字节 每个字节8bit)
print(r.getrange("en_name", 0, -1)) # 取所有的字节 junxi 切片操作

12.setrange(name, offset, value)

修改字符串内容,从指定字符串索引开始向后替换(新值太长时,则向后添加)

参数:

实例

r.setrange("en_name", 1, "ccc")
print(r.get("en_name"))    # jccci 原始值是junxi 从索引号是1开始替换成ccc 变成 jccci

13.setbit(name, offset, value)

对 name 对应值的二进制表示的位进行操作

参数:

注:如果在Redis中有一个对应: n1 = "foo",

那么字符串foo的二进制表示为:01100110 01101111 01101111

所以,如果执行 setbit('n1', 7, 1),则就会将第7位设置为1,

那么最终二进制则变成 01100111 01101111 01101111,即:"goo"

扩展,转换二进制表示:

实例

source = "陈思维"
source = "foo"
for i in source:
num = ord(i)
print bin(num).replace('b','')

特别的,如果source是汉字 "陈思维"怎么办?

答:对于utf-8,每一个汉字占 3 个字节,那么 "陈思维" 则有 9个字节 对于汉字,for循环时候会按照 字节 迭代,那么在迭代时,将每一个字节转换 十进制数,然后再将十进制数转换成二进制 11100110 10101101 10100110 11100110 10110010 10011011 11101001 10111101 10010000

14.getbit(name, offset)

获取name对应的值的二进制表示中的某位的值 (0或1)

print(r.getbit("foo1", 0)) # 0 foo1 对应的二进制 4个字节 32位 第0位是0还是1

15.bitcount(key, start=None, end=None)

获取name对应的值的二进制表示中 1 的个数

参数:

实例

print(r.get("foo"))  # goo1 01100111
print(r.bitcount("foo",0,1))  # 11 表示前2个字节中,1出现的个数

16.bitop(operation, dest, *keys)

获取多个值,并将值做位运算,将最后的结果保存至新的name对应的值

参数:

如:

bitop("AND", 'new_name', 'n1', 'n2', 'n3')

获取Redis中n1,n2,n3对应的值,然后讲所有的值做位运算(求并集),然后将结果保存 new_name 对应的值



import time


pool = redis.ConnectionPool(host='localhost', port=6379, decode_responses=True)

r = redis.Redis(connection_pool=pool)

r.setex("fruit2", 5, "orange")

time.sleep(5)

print(r.get('fruit2'))  # 5秒后,取值就从orange变成None

7.psetex(name, time_ms, value)


设置值


参数:


time_ms - 过期时间(数字毫秒 或 timedelta对象)


实例

r.psetex("fruit3", 5000, "apple")

time.sleep(5)

print(r.get('fruit3'))  # 5000毫秒后,取值就从apple变成None

8.mset(*args, **kwargs)


批量设置值


如:


实例

r.mget({'k1': 'v1', 'k2': 'v2'})

r.mset(k1="v1", k2="v2") # 这里k1 和k2 不能带引号,一次设置多个键值对

print(r.mget("k1", "k2"))   # 一次取出多个键对应的值

print(r.mget("k1"))

9.mget(keys, *args)


批量获取


如:


实例

print(r.mget('k1', 'k2'))

print(r.mget(['k1', 'k2']))

print(r.mget("fruit", "fruit1", "fruit2", "k1", "k2"))  # 将目前redis缓存中的键对应的值批量取出来

10.getset(name, value)


设置新值并获取原来的值


print(r.getset("food", "barbecue"))  # 设置的新值是barbecue 设置前

赣州企业网站设计 - 赣州高端网站定制 - 赣州品牌网站搭建 - 上往建站


上往建站提供搭建网站域名注册官网备案服务网店详情页设计企业网店专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管网页美工排版,致力于域名申请竞价托管软文推广全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机网站推广百度竞价托管网站建设上网建站推广服务网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


全国咨询热线:400-111-6878

地址:全国各地都有驻点商务

Copyright © 2021 通陆科技

网站建设上往建站