redis也是一个数据库,数据都存在内存里面。
先引入第三方模块,执行以下命令:pip install redis
redis只有密码
1、操作redis
import redis # redis也是一个数据库,数据都存在内存里面 r = redis.Redis(host='118.24.3.40', port=6379, password='HK139bc&*', decode_responses=True) # db=15,指定数据库15,默认是db0 # decode_responses = True将bytes转成字符串 # Redis查出来的结果,默认是bytes类型的 # 字符串类型 r.set('ccx_session', 'dazhouzi', 10) # 插入一条数据,key,value,有效时长:默认为永久,单位为秒 print(r.get('ccx_session')) # 获取指定的值 print(r.set('ccx_session', 'dazhouzi')) # 修改成dazhouzi print(r.get('ccx_session')) # 修改完再看看 # r.delete() #删除 # decode讲解 session = r.get("ccx_session") print(session) new_session = session.decode() # decode手动将获取的值转换为字符串 print(new_session) # 哈希类型 r.hset('ssz_stu', 'cmc0', '666') # 插入数据 r.hset('ssz_stu', 'cmc1', '666') r.hset('ssz_stu', 'cmc2', '666') r.hset('ssz_stu', 'cmc3', '666') # print(r.hget('ssz_stu','cmc2').decode()) print(r.hget('ssz_stu', 'cmc2')) # 获取数据 print(r.get('ccx_session')) r.hdel('ssz_stu', 'cmc3') # 删除 print(r.hgetall('ssz_stu')) print(r.keys()) # 所有的key print(r.keys('*session*')) # 模糊匹配 print(r.exists('ccx_session')) # key是否存在 print(r.type('ccx_session')) # 类型 r.expire('ccx_session', 10) # 指定某个key过期的时间 r.flushall() # 清空所有数据库里面的key r.flushdb() # 清空当前数据库里面的所有key d = {"a": 1, "b": 2, "c": 3} r.hmset("ssy_student", d) # 插入字典 r.delete("ssy_student") # 删除 # 有冒号有文件夹 r.set("grils:sxy", "1") r.set("grils:lj", "1") r.set("boys:cmc", "1") r.set("boys:wh", "1")
2、迁移redis
import redis #将一个数据库中的所有数据迁移到另一个数据库中 r1 = redis.Redis(host="118.24.3.40", port=6379, password="HK139bc&*", decode_responses=True) r2 = redis.Redis(host="118.24.3.40", port=6379, password="HK139bc&*", decode_responses=True, db=6) for k in r1.keys(): #遍历数据库中所有的key key_type = r1.type(k) if key_type == 'string': #判断是字符串的 value = r1.get(k) r2.set(k, value) elif key_type == 'hash': #判断是hash类型的 value = r1.hgetall(k) r2.hmset(k, value) else: pass