zoukankan      html  css  js  c++  java
  • Python操作Redis及连接方式

    前沿:随着互联网的高速发展,数据变得越来越重要,Python成为了人工智能的热门语言,而Nosql数据库已成为日常开发用品。

    今天要写的是Python操作Redis

    Redis的安装我就不介绍了,你可以看看Redis一系列的文章 我也有关于Redis安装一文.

    https://www.cnblogs.com/ZaraNet/p/9433935.html

    虽然Python是个大热门,但其方向不在于Web端,非常适合数据挖掘,我是web方向的工程师.. 热衷于.NET/C#,但也喜欢Python ,如果想要脚踏两只船,可以通过intro的nuget包进行两者兼容。

    正文:

    一.Python连接Redis

    开发工具为Pycharm,包:Redis。可以直接进行安装第三方模块

    redis-py提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令,Redis是StrictRedis的子类

    操作:

    一.string 操作

    添加值:

     set(name, value, ex=None, px=None, nx=False, xx=False)

    参数:
    ex,过期时间(秒)
    px,过期时间(毫秒)
    nx,如果设置为True,则只有name不存在时,当前set操作才执行
    xx,如果设置为True,则只有name存在时,岗前set操作才执行

    可以渐变为  setnx(name, value)、psetex(name, time_ms, value)、setex(name, value, time)

     

     获取值:get(name)根据key进行获取

     

    还可以在获取的时候去截取值

    getrange(key, start, end)

     Hash操作

    设置值

    hset(name, key, value)

    如果已经有这个name了 就修改,如果没有就创建

    hmset(name, mapping)
    在name对应的hash中批量设置键值对  例如
    r.hmset('xx', {'k1':'v1', 'k2': 'v2'})

    获取值

    hget(name,key)

    1 # 在name对应的hash中获取根据key获取value

    hgetall(name)

    1 获取name对应hash的所有键值

    hlen(name)

    1 # 获取name对应的hash中键值对的个数

    hkeys(name)

    1 # 获取name对应的hash中所有的key的值

    hvals(name)

    1 # 获取name对应的hash中所有的value的值

    hexists(name, key)

    1 # 检查name对应的hash是否存在当前传入的key

    hdel(name,*keys)

    1 # 将name对应的hash中指定key的键值对删除

    操作list

    lpush(name,values)

    复制代码
    1 # 在name对应的list中添加元素,每个新的元素都添加到列表的最左边
    2  
    3 # 如:
    4     # r.lpush('oo', 11,22,33)
    5     # 保存顺序为: 33,22,11
    6  
    7 # 扩展:
    8     # rpush(name, values) 表示从右向左操作
    复制代码

    lpushx(name,value)

    1 # 在name对应的list中添加元素,只有name已经存在时,值添加到列表的最左边
    2  
    3 # 更多:
    4     # rpushx(name, value) 表示从右向左操作

    llen(name)

    1 # name对应的list元素的个数

    linsert(name, where, refvalue, value))

    复制代码
    1 # 在name对应的列表的某一个值前或后插入一个新值
    2  
    3 # 参数:
    4     # name,redis的name
    5     # where,BEFORE或AFTER
    6     # refvalue,标杆值,即:在它前后插入数据
    7     # value,要插入的数据
    复制代码

    r.lset(name, index, value)

    复制代码
    1 # 对name对应的list中的某一个索引位置重新赋值
    2  
    3 # 参数:
    4     # name,redis的name
    5     # index,list的索引位置
    6     # value,要设置的值
    复制代码

    r.lrem(name, value, num)

    复制代码
    1 # 在name对应的list中删除指定的值
    2  
    3 # 参数:
    4     # name,redis的name
    5     # value,要删除的值
    6     # num,  num=0,删除列表中所有的指定值;
    7            # num=2,从前到后,删除2个;
    8            # num=-2,从后向前,删除2个
    复制代码
  • 相关阅读:
    我的大学生涯
    如何设计一个好的Windows 8应用
    [置顶] 十大高明的Google搜索技巧
    [置顶] 走出困境靠自己
    Android代码混淆前后分析
    百度高级搜索
    未来手机什么样 十款未来概念手机图赏
    如何看懂Java混淆后的反编译代码
    最值得一看的几条简单的谷歌 Google 搜索技巧,瞬间提升你的网络搜索能力!
    各种网页尺寸判断方法
  • 原文地址:https://www.cnblogs.com/ZaraNet/p/9724022.html
Copyright © 2011-2022 走看看