zoukankan      html  css  js  c++  java
  • python redis相关操作

    1.连接:

    1 import redis
    2 
    3 conn = redis.Redis(host=127.0.0.1,port=6379,db=0, max_connections=100, password=None, decode_responses=True)

    2.数据

    1)string类型

    1.添加数据
    
    set(name, value, ex=None, px=None, nx=False, xx=False)
    '''
    参数:
         ex,过期时间(秒)
         px,过期时间(毫秒)
         nx,如果设置为True,则只有name不存在时,当前set操作才执行,同setnx(name, value)
         xx,如果设置为True,则只有name存在时,当前set操作才执行
    '''
    
    conn.set('test','why',ex=10) #10s后过期
    
    2.批量添加
    mset(name1='xxx',name2='xxxx')
    mget({'name1':'xxx','name2':''xxxx})
    
    3.获取值
    get(name)
    
    conn.get('test')
    
    4.批量获取
    mget(keys,*args)
    
    5.获取value长度
    strlen(name)

    2)hash

     1 1.添加
     2 
     3 hset(name,key,value)
     4 
     5 conn.hset('test1','why1','123')
     6 conn.hset('test1','why2','124')
     7 
     8 2.批量添加
     9 hmset(name,{'key1':'value1','key2':'value2'})
    10 
    11 conn.hmset('test2',{'w1':'123','w2':'124'})
    12 
    13 3.查询
    14 hget(name,key)
    15 
    16 conn.hget('test1','why1')
    17 conn.hget('test1','why2')
    18 
    19 4.查询所有的值
    20 hgetall(name)
    21 
    22 conn.hgetall('test1')
    23 
    24 5.查询多个值
    25 hmget(name,key1,key2)
    26 hmget(name,[key1,key2])
    27 
    28 conn.hmget('test1','why1','why2')
    29 conn.hmget('test1',['why1','why2'])
    30 
    31 6.获取键值个数
    32 hlen(name)
    33 
    34 conn.hlen('test1')
    35 
    36 7.获取key值
    37 hkeys(name)
    38 
    39 conn.hkeys('test1')
    40 
    41 8.获取value值
    42 hvals(name)
    43 
    44 conn.hvals('test1')
    45 
    46 9.是否存在key
    47 hexists(name,key)
    48 
    49 conn.hexists('test1','why1')
    50 
    51 10.删除key值
    52 hdel(name,key)
    53 
    54 conn.hdel('test1','why1')
    55 
    56 11.设置超时时间,单位,s
    57 expire(name,time)
    58 
    59 conn.expire('test1',20)

    3)list

     1 1.添加值
     2 1 3 lpush(name,values)
     4 
     5 conn.lpush('test',1,2,3) #存储顺序为 3,2,1
     6 
     7 2 8 rpush(name,values)
     9 
    10 conn.rpush('test',1,2,3) #存储顺序未 1,2,3
    11 
    12 2. 列表的个数
    13 llen(name)
    14 
    15 3.指定插入数据
    16 linsert(name, where, refvalue, value))
    17 '''
    18 name: redis的name
    19 where: BEFORE(前)或AFTER(后)
    20 refvalue: 列表内的值
    21 value: 要插入的数据
    22 '''
    23 
    24 4.重新赋值
    25 lset(name,index,value)
    26 
    27 5.删除值
    28 lrem(name,index,value)
    29 
    30 6.移除左侧的值
    31 lpop(name)
    32 
    33 7.获取元素
    34 lrange(name,start,end)
    35 
    36 conn.lrange('test1',0,-1) #查询test1所有的值

    4)set

     1 1.添加元素
     2 
     3 sadd(name,values)
     4 
     5 2.获取元素
     6 
     7 smembers(name)
     8 
     9 3.获取元素个数
    10 
    11 scard(name)
    12 
    13 4.移除元素,从左侧开始
    14 
    15 spop(name)

    5) zset

    1.添加元素
    zadd(name,*args,**kwargs)
    
    conn.zadd('test1','why1',1,'why2',2)
    conn.zadd('test1',why1=1,why2=2)
    
    2.获取元素数量
    zcard(name)
    
    3.获取元素再指定范围个数
    zcount(name,min,max)
    
    4.获取指定范围的元素
    zrange( name, start, end, desc=False, withscores=False, score_cast_func=float)
    
    '''
        name    redis的name
        start   有序集合索引起始位置
        end     有序集合索引结束位置
        desc    排序规则,默认按照分数从小到大排序
        withscores  是否获取元素的分数,默认只获取元素的值
        score_cast_func 对分数进行数据转换的函数
    '''
    
    5.删除元素
    zrem(name,value)
    
    conn.zrem('test1','why1','why2')

    3.其他常用操作

    1.设置失效时间
    expire(name,time)
    
    conn.expire('test1',20) #20秒
    
    2.获取name类型
    type(name)
    
    3.判断name是否存在
    exists(name)
    
    4.删除name
    delete(*names)
    
    5获取name,根据 * ? 通配符获取对应的name
    keys(pattern=*)
    
    6.移动name到指定db下
    move(name,db)
    
    7.重命名
    rename(name,name1)

    参考博客:https://www.cnblogs.com/melonjiang/p/5342505.html

  • 相关阅读:
    SQL语句:Mac 下 处理myql 不能远程登录和本地登录问题
    react中触发事件实现路由跳转
    Sass代码重用----Sass继承
    react实现点击选中的li高亮
    React中通过状态控制元素显示隐藏的三种方法
    React 页面加载后自动执行onClick事件
    formdata实现图片上传
    formdata实现图片上传
    适用于Ant design的省市区联动JSON数据
    react.js
  • 原文地址:https://www.cnblogs.com/whycai/p/14864642.html
Copyright © 2011-2022 走看看