zoukankan      html  css  js  c++  java
  • python学习之-- redis模块操作 HASH

    redis 操作 之 -Hash

    Hash 操作:hash在内存中的存储格式
    name hash
    n1 ------> k1 -> v1
    k2 -> v2
    k3 -> v3
    hset(name,key,value):name对应的hash中设置一个键值对(不存在,则创建,存在则修改)
    name:redis的name
    key :name对应hash中的key
    value:name对应hash中的value
    hsetnx(name,key,value):当name对应的hash中不存在当前key时则创建
    举例:
    r.hset('info','name','jack')
    r.hset('info','age',22)
    r.hset('info','id',22323)
    print(r.hgetall('info')) # 查看info对应的所有信息,返回字典
    print(r.hget('info','age')) # 查看info对应的age的值,返回字符串
    print(r.hkeys('info')) # 查看info的所有键,返回列表
    print(r.hvals('info')) # 查看info的所有值,返回列表
    hmset(name,mapping):在name对应的hash中批量设置键值对
    mapping:字典{'k1':'v1','k2':'v2'}
    举例:
    r.hmset('info',{'name':'jack','age':22,'id':223}) # 批量设置
    print(r.hgetall('info')) # 打印所有信息
    print(r.hmget('info','name','age')) # 打印对应值

    hgetall(name):获取name对应hash的所有键值
    hlen(name):获取name对应的hash中键值对的个数
    hkeys(name):获取name对应的hash中所有的key
    hvals(name):获取name对应的hash中所有的value
    hexists(name,key):判断key是否存在
    hdel(name,*keys):删除指定name中的keys键值对
    hincrby(name,key,amount=1):对name对应的key自增
    hscan(name,cursor=0,match=None,count=None):增量式迭代获取,对于数据量大的数据非常有用,hscan可以实现分片的获取数据,
    并非一次性将数据获取完毕,
    name:redis的name
    cursor:游标(基于游标分批获取数据)
    match:匹配指定key,默认None,表示所有的key
    count:每次分片最少获取个数,默认None表示采用redis的默认分片个数
    举例:
    r.hmset('info',{'name':'jack','age':22,'id':223})
    print(r.hscan('info',cursor=0,match='a*'))
    结果输出:(0, {b'age': b'22'})
    hscan_iter(name,match=None,count=None):利用yield封装hscan创建生成器,实现分批去redis中获取数据
    match:匹配指定key,默认None表示所有key
    count:每次分片最少获取个数
    r.hmset('info2',{'k1':'v1','k2':'v2','k3':'v3'})
    for item in r.hscan('info2',cursor=0,match='k*'):
    print(item)
    输出:{b'k1': b'v1', b'k2': b'v2', b'k3': b'v3'}

  • 相关阅读:
    使用@ConditionalOnProperty注解
    Java注解Annotation与自定义注解详解
    Windows下使用service.bat安装tomcat服务, 启动停止tomcat服务
    Tomcat启动异常 java.net.BindException: Cannot assign requested address: JVM_Bind
    tomcat部署应用仅需ip和port访问
    dwr.jar简介
    Hibernate3 jar包的作用[转]
    org.springframework.orm.hibernate3.LocalSessionFactoryBean
    <iframe>和<frame>区别
    ServletActionContext.getRequest().getSession() 和 ActionContext.getContext().getSession()
  • 原文地址:https://www.cnblogs.com/zy6103/p/7083975.html
Copyright © 2011-2022 走看看