zoukankan      html  css  js  c++  java
  • python常用Resid操作

    安装redis库

    pip intall redis

    导入库

    import redis

    连接redis,指定ip,端口,库号

    con = redis.StrictRedis(host='ip', port=6379, password=password, db=0)

    操作String类型

    con.set('name', 'Bob')

    获取数据,把byte转utf-8

    name = con.get('name').decode('utf8')

    操作hash类型

    可以一次加一个键值对

    con.hset('hash1', 'k1', 'v1')

    也可以一次加多个键值对

    con.hmset('hash1', {'k2': 'v2', 'k3': 'v3'}) 

    取出所有键值对

    print(con.hgetall('hash1'))

    取出所有的keys

    print(con.hkeys('hash1'))

    取出所有的value

    print(con.hvals('hash1'))

    删除键值对

    con.hdel('hash1', 'k3')

    操作list类型

    新增list(往list左边插入元素)

    con.lpush('list1', 11, 22, 33) 

    往list右边插入元素

    con.rpush('list1', 44, 55, 66) 

    指定索引号进行修改

    con.lset('list1', 0, 333)  

    打印list

    print(con.lrange('list1', 0, -1))  

    操作set类型

    往集合添加元素

    con.sadd('set1', 33, 44, 55, 66)

    打印集合长度

    print(con.scard('set1')) 

    获取集合中所有的成员

    print(con.smembers('set1'))

    判断元素是否在集合中

    print(con.sismember('set1', 33))

    操作有序set

    在redis-py 3.0之前,添加一个有序集合的值,代码:

    con.zadd('zset1', 'm1', 60, 'a2', 70, 'm3', 30)

    在redis-py 3.0及以后3.6以前的版本,正确的写法为:

    con.zadd('zset1', {'m1': 60, 'a2': 70, 'm3': 30}) 

    在redis-py 3.6及以后的版本,正确的写法为:

    con.zadd('zset1', 10, 'm1', 20, 'a2', m3=30, a4=40)

    mapping中m1表示元素,60为score用于排序

    打印集合长度

    print(con.zcard('zset1')) 

    获取集合中所有的成员

    print(con.zrange('zset1', 0, -1))

    查看元素的下标,没有则返回None

    print(con.zrank('zset1', 33)) 

     完整脚本

     1 import redis
     2 
     3 con = redis.StrictRedis(host='10.138.60.109', port=6379, db=0)  # 连接redis
     4 '''redis基本命令 String'''
     5 con.set('name', 'Bob')  # 插入String
     6 print(con.get('name').decode('utf8'))  # 取出String并utf-8转码
     7 '''redis基本命令 hash'''
     8 con.hset('hash1', 'k1', 'v1')  # 往hash1插入一个键值对k1,v1
     9 con.hmset('hash1', {'k2': 'v2', 'k3': 'v3'})  # 往hash1插入多个键值对k2,k3
    10 print(con.hgetall('hash1'))  # 取出所有的键值对
    11 print(con.hkeys('hash1'))  # 得到所有的key
    12 print(con.hvals('hash1'))  # 得到所有的value
    13 con.hdel('hash1', 'k3')  # 删除键值对
    14 print(con.hgetall('hash1'))
    15 '''redis基本命令 list'''
    16 con.lpush('list1', 11, 22, 33)  # 从左边新增
    17 con.rpush('list1', 44, 55, 66)  # 从右边新增
    18 con.lset('list1', 0, 333)  # 指定索引号进行修改
    19 print(con.lrange('list1', 0, -1))  # 打印list1[0:-1]
    20 '''redis基本命令 set'''
    21 con.sadd('set1', 33, 44, 55, 66)  # 往集合添加元素
    22 print(con.scard('set1'))  # 打印集合长度
    23 print("111111", type(con.smembers('set1')))  # 获取集合中所有的成员
    24 print(con.sismember('set1', 33))  # 判断元素是否在集合中
    25 '''redis基本命令 有序set'''
    26 # con.zadd('zset1', 'm1', 60, 'a2', 70, 'm3', 30)  # 3.0以前版本
    27 # con.zadd('zset1', {'m1': 60, 'a2': 70, 'm3': 30})  # 3.0以上3.6以下版本
    28 con.zadd('zset1', 10, 'm1', 20, 'a2', m3=30, a4=40)  # 往集合添加元素,score用于排序(3.6+版本)
    29 print(con.zcard('zset1'))  # 打印集合长度
    30 print(con.zrange('zset1', 0, -1))  # 获取集合中所有的成员
    31 print(con.zrank('zset1', 33))  # 返回元素的下标

    参考文献:

    https://www.jianshu.com/p/2639549bedc8

    https://www.cnblogs.com/sanduzxcvbnm/p/10337306.html

  • 相关阅读:
    Spring框架 基础01
    Mybatis框架 基础
    字节流,字符流
    集合的应用(练习:学生档案)
    集合
    时间类型的格式化(字符串和时间类型 之间的相互转换)
    逢三退一(boolean数组的使用)
    电子宠物(线程,实现方法)
    点是否在圆里
    sqlserver 指定上月25-本单据日期/本月24 数据汇总的保存后存储过程
  • 原文地址:https://www.cnblogs.com/carlvine/p/11088506.html
Copyright © 2011-2022 走看看