zoukankan      html  css  js  c++  java
  • 【Python】学习笔记5-操作redis数据库redis

    import redis
    # 1、set get setex delete都是针对值是字符串类型进行操作
    r = redis.Redis(host='x.x.x.x',port = 6379,password = '123456',db = 1)
    # r.set('am_session','20122222222') #set数据,增加一条数据
    # print(r.get('am_session').decode()) #get数据,redis取出的数据都是bytes类型的,所以要用decode方法转化成字符串
    # # r.delete('cm_session')
    # r.setex('am_ssss','chenmeng',10) #新建一条数据,可以指定key的失效时间,单位是秒

    #
    # # 2、hash类型set、get数据的方式:一个session,类似字典,不同key对应不同的值
    1 # r.hset('cmsessions','cm','1')
    2 # r.hset('cmsessions','cm1','12')
    3 # r.hset('cmsessions','cm2','123')
    4 # # print(r.hget('cmsessions','cm2').decode()) #获取hash类型某个key的数据
    5 # # redis_data = r.hgetall('cmsessions') # 获取hash类型的所有数据,返回字典,但是里面都是二进制:{b'cm': b'1', b'cm2': b'123', b'cm1': b'12'}
    6 # #

    # # #解析hash类型中的二进制数据,都换成正常字符串
    x
    1 # r.hset('cmsessions','cm','1')
    2 # r.hset('cmsessions','cm1','12')
    3 # r.hset('cmsessions','cm2','123')
    4 # # print(r.hget('cmsessions','cm2').decode()) #获取hash类型某个key的数据
    5 # # redis_data = r.hgetall('cmsessions') # 获取hash类型的所有数据,返回字典,但是里面都是二进制:{b'cm': b'1', b'cm2': b'123', b'cm1': b'12'}
    6 # #
    #
    # #hash类型没有过期时间
    #
    #
    # # 3.如果需要在文件夹中添加session,带冒号,多个层级的文件夹多个冒号即可
    # r.set('cm:am_session','20122222222')
    #
    #
    # # 4.获取所有的key
    # print(r.keys()) #获取所有的key
    # print(r.keys('cm*')) #获取所有以cm开头的key
    # print(r.type('cmsessions')) #获取所有kye的类型,hash类型是:b'hash',普通返回类型是b'string'

    #5.db2中所有的key迁移到db8
    #a 建立两个redis链接
    #b 获取所有的key,返回b开头的byte类型,所有判断类型的时候,b'string'
    #c 判断key的类型,string hash
     1 # src_redis = redis.Redis(host='X.x.x.x',port = 6379,password = '123456',db = 4)
     2 # target_redis = redis.Redis(host='X.x.x.x',port = 6379,password = '123456',db = 3)
     3 # for key in src_redis.keys(): #[b'session3', b'wy:wy1:wy2', b'session_wy', b'wangyan']
     4 #     if src_redis.type(key) == b'string':
     5 #         v = src_redis.get(key)
     6 #         target_redis.set(key,v)
     7 #     else: #hash类型处理
     8 #         all_hash_data = src_redis.hgetall()
     9 #         for k,v in all_hash_data.item():
    10 #             target_redis.hset(key,k,v)
  • 相关阅读:
    System.Web.Http.Cors配置跨域访问的两种方式
    asp.net反向代理
    web.config SetAttributes
    remove name="ProxyModule“会导致重复执行
    去空格
    api签名
    C# HttpWebRequest获取COOKIES
    Request.Form接收不到post数据.
    webapi文档工具
    https://gogs.io/
  • 原文地址:https://www.cnblogs.com/amengmeng/p/8361374.html
Copyright © 2011-2022 走看看