前沿:随着互联网的高速发展,数据变得越来越重要,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个

Python操作Redis及连接方式的更多相关文章

  1. python操作Redis安装、支持存储类型、普通连接、连接池

    一.python操作redis安装和支持存储类型 安装redis模块 pip3 install redis 二.Python操作Redis之普通连接 redis-py提供两个类Redis和Strict ...

  2. Redis常用操作大全和Python操作Redis

    简单使用 utils.py import redis POOL=redis.ConnectionPool(host='127.0.0.1',port=6379) view.py 第一种方式 (通用方式 ...

  3. Python—操作redis

    Python操作redis 连接方式:点击 1.String 操作 redis中的String在在内存中按照一个name对应一个value来存储 set() #在Redis中设置值,默认不存在则创建, ...

  4. python——操作Redis

    在使用django的websocket的时候,发现web请求和其他当前的django进程的内存是不共享的,猜测django的机制可能是每来一个web请求,就开启一个进程去与web进行交互,一次来达到利 ...

  5. Python操作Redis、Memcache、RabbitMQ、SQLAlchemy

    Python操作 Redis.Memcache.RabbitMQ.SQLAlchemy redis介绍:redis是一个开源的,先进的KEY-VALUE存储,它通常被称为数据结构服务器,因为键可以包含 ...

  6. 第二百九十六节,python操作redis缓存-Hash哈希类型,可以理解为字典类型

    第二百九十六节,python操作redis缓存-Hash哈希类型,可以理解为字典类型 Hash操作,redis中Hash在内存中的存储格式如下图: hset(name, key, value)name ...

  7. 第二百九十五节,python操作redis缓存-字符串类型

    python操作redis缓存-字符串类型 首先要安装redis-py模块 python连接redis方式,有两种连接方式,一种是直接连接,一张是通过连接池连接 注意:以后我们都用的连接池方式连接,直 ...

  8. python操作Redis缓存

    python操作Redis缓存 https://www.cnblogs.com/guotianbao/p/8683037.html 学习资料:电子书资源 联系邮箱:gmu1592618@gmail.c ...

  9. Python 操作Redis 转载篇

    Python操作Redis数据库 连接数据库 StrictRedis from redis import StrictRedis # 使用默认方式连接到数据库 redis = StrictRedis( ...

随机推荐

  1. python分支——if

    单分支判断 age = 16 if age >= 18: 判断语句,判断age是否大于等于18,注意if后面要加空格,条件写完后要加: print("你已经成年") prin ...

  2. PCA:利用PCA(四个主成分的贡献率就才达100%)降维提高测试集辛烷值含量预测准确度并《测试集辛烷值含量预测结果对比》—Jason niu

    load spectra; temp = randperm(size(NIR, 1)); P_train = NIR(temp(1:50),:); T_train = octane(temp(1:50 ...

  3. quartz之CronExpression表达式

    一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素.按顺序依次为1.秒(~).分钟(~).小时(~).天(月)(~,但是你需要考虑你月的天数).月(~).天(星期)(~ =SUN 或 SU ...

  4. python 获取mac地址zz

    通过python获取当前mac地址的方法如下:(1)通用方法,借助uuid模块def get_mac_address(): import uuid      node = uuid.getnode() ...

  5. CentOS7x64 防火墙配置

    Firewall开启常见端口命令: firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=publi ...

  6. Ubuntu全盘备份与恢复,亲自总结,实测可靠

    https://blog.csdn.net/sinat_27554409/article/details/78227496 Ubuntu全盘备份与恢复,亲自总结,实测可靠 初学者在使用Ubuntu这类 ...

  7. 为什么在Python里推荐使用多进程而不是多线程?

    最近在看Python的多线程,经常我们会听到老手说:“Python下多线程是鸡肋,推荐使用多进程!”,但是为什么这么说呢?   要知其然,更要知其所以然.所以有了下面的深入研究: 首先强调背景: 1. ...

  8. React事件绑定几种方法测试

    前提 es6写法的类方法默认没有绑定this,不手动绑定this值为undefined. 因此讨论以下几种绑定方式. 一.构造函数constructor中用bind绑定 class App exten ...

  9. jquery获取一组文本框的值

    $("#btn5").click(function()  {    var str="";$("[name='checkbox'][checked]& ...

  10. 关于部署php遇到的坑

    业务突然要启动一个久不使用的PHP项目, 发现部署到centos7上后 各种报错 就是不行. 我怀疑是apache或者php问题 就重新安装 编译安装也试过就是不行. 只能按笨办法 在测试环境安装了a ...