操作 redis - 增、删、改、查

mac2022-06-30  99

import redis

redis 也是一个数据库扩充:1、关系型数据库

  MySQL、Oracle、SQL、db2、sqlite

  通过sql 语句执行   数据存在磁盘上2、非关系型数据库(优点:操作速度快)

  redis、mongodb

  没有表、字段,也无 sql 语句   通过 get('k')、set('xx')...操作

redis 数据全部都是存在内存里面redis 本身性能是非常好的,每秒支持 30W 次得读写

r = redis.Redis(host='xxx.xxx.xxx.xxx',password='xxxxxx',db=1,port=6379)

 

### string类型 ###

#增# r.set('niuhanyang','帅!') #数据库里面新增一个值#修改也是set

#删# r.delete('niuhanyang')

#设置失效时间#r.setex('python_123','哈哈哈',20) #设置key的失效时间,最后这个参数是秒,操作20自动delete(redis 可视化界面,可以通过‘TTL’查看剩余失效时间)

#查# hwt = r.get('hwt') #结果为二进制类型,需要转换

#二进制 转 字符串(.decode())# print(hwt.decode())

#字符串 转 二进制 (.encode())

# print(r.keys('*xxx*'))#获取到所有的key,结果格式为 list,可模糊匹配

# print(r.get('sdfsdf'))#get 不存在得 key 时,得到得时空 list

#同时创建文件夹# r.set('天蝎座:mpp','呵呵呵') #key 里面有‘:’,则前面得就是文件夹名字# r.get('天蝎座:mpp')

 

#判断这个 k 是否存在

r.exists(k)

# for k in r.keys(): #删除所有的key  # r.delete(k)

************************************************************************************

# 哈希类型 hash 嵌套字典{{},{}}

# 增 .hset

# r.hset('stu_info','刘伟','1m8 100w存款') #'stu_info' - 关键字 #'刘伟' - value 里面的 key #'1m8 100w存款' - value 里面的 value

# r.hset('stu_info','张流量','浪,为了不交作业,故意让狗咬他')

# r.hset('stu_info','董春光','为了不交作业,找了一条狗咬张流量,然后陪张流量去医院')

#查 .hget / .hget_all

# print(r.hget('stu_info','张流量').decode()) #指定大key和小key获取对应的数据

# print(r.hgetall('stu_info')) #获取里面所有的k和-v

# stu_info = r.hgetall('stu_info')

#删 .hdel

# r.hdel('stu_info','gyx') #删除指定key

# r.delete('stu_info') #删除整个key

#设置 key 的失效时间

r.expire('aaa',100) #第一个key设置失效时间

 

#清空 redis

r.flushdb()

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类型转成字符串

 

例:将数据库数据导入redis 中

需求分析:

#pymysql、json、redis#1、连数据库,查到数据库里面所有的数据,游标类型要用pymysql.curosrs.DictCour#2、查到所有数据 [ {"id":1,"passwd":"49487dd4f94008a6110275e48ad09448","username":"niuhayang","is_admin":1}]#3、循环这个list,取到usernamer,把username当做key#4、再把这个小字典转成json,存进去就ok。import pymysql,json,redisr = redis.Redis(host='xxx.xxx.xxx.xxx',password='xxxxxx',db=1,port=6379)conn = pymysql.connect(host='xxx.xxx.xxx.xxx',user='xxx',passwd='xxxxxx',db='xxx',charset='utf8')cur = conn.cursor(cursor=pymysql.cursors.DictCursor)cur.execute('select * from my_user;')all_data = cur.fetchall()for data in all_data:   k = data.get('username')   r.hset('stu_info_nhy',k,json.dumps(data))cur.close()conn.close()

 

转载于:https://www.cnblogs.com/lynn-chen/p/9002080.html

相关资源:RedisDemo增删改查例子
最新回复(0)