操作redis
redis也是一个数据库,菲关系型数据库,没有sql,redis数据全部都是存在内存里面。 redis本身性能是非常好的,每秒支持30w次的读写。
import redis
r = redis.Redis(host='118.xx.x.xx',password='xxxxx',db=1,port=6379)#port默认6379 db=1 第一个数据库
#增删改查
r.set('key值','value值') #数据库里面新增一个值
#修改也是set
r.delete('key值')
r.setex('python_123','哈哈哈',20) #设置key的失效时间,最后这个参数是秒
hwt = r.get('hwt')
print(hwt.decode())#转换编码
print(r.keys('*xxx*'))#获取到所有的key
print(r.get('sdfsdf'))
r.set('天蝎座:mpp','呵呵呵')
r.get('天蝎座:mpp')
#上面操作都是针对 string类型
for k in r.keys(): #删除所有的key
r.delete(k)
# 哈希类型 hash 嵌套字典
r.hset('stu_info','a','1m8 100w存款') #存入值
r.hset('stu_info','b','浪,为了....')
r.hset('stu_info','c','...然后...')
print(r.hget('stu_info','a').decode()) #指定大key和小key获取对应的数据
print(r.hgetall('stu_info')) #获取里面所有的k和-v
stu_info = r.hgetall('stu_info')
r.hdel('stu_info','gyx') #删除指定key
r.delete('stu_info') #删除整个key
r.expire('aaa',100) #第一个key设置失效时间
new_stu_info = {}
for k,v in stu_info.items():
new_stu_info[k.decode()] = v.decode()
print(new_stu_info)
print(r.type('stu_info')) #查看key是什么类型的
print(r.type('zll'))
#字符转换
# s='呵呵'
# s.encode() #把字符串转成二进制
# hwt = b'sdfsdfsdf'
# hwt.decode() #把bytes类型转成字符串