Redis

是一个高性能的key-value数据库,是一种非关系型的数据库。有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

1、redis安装。

在cmd命令窗口输入:pip install redis

2、连接redis。

r = redis.Redis(host='127.0.0.1',password='HK139bc&*',db=1,port=6379)

说明:host是IP地址,password是redis的密码,db连接上之后使用的数据库,redis默认有15个数据库,port是端口号,默认是6379

3、redis增删改查,针对string类型的操作。

1)、数据库里面新增一个值:

r.set('qianqian','帅!') #数据库里面新增一个值.k是qianqian,value是帅,redis里面有这个k 的话就修改value,没有的话就增加k,和value
r.set('xiehong:qianqian','帅!') #数据库里面新增一个值,如果k里面有冒号,那么插入成功之后会在redis里面生成一个以冒号前面内容命名的文件夹
 

2)、获取k的value

print(r.get('xiehong:qianqian'))#获取k是xiehong:qianqian的value,默认返回结果是二进制
print(r.get('xiehong:qianqian').decode())#将二进制结果转为中文 #以上结果是:
b'\xe5\xb8\x85\xef\xbc\x81'
帅!

3)、删除k 和value

r.delete('xiehong:qianqian')#删除之后,对应的k和value都删除

4)、设置key的失效时间

r.setex('python_123','哈哈哈',20)  #设置key的失效时间,最后这个参数是秒

5)、获取所有的key

r.keys('*xxx*'))#获取到所有的key

4、哈希类型(hash)的操作。

哈希类型的value就是嵌套字典。

1)、增加k和value

r.hset('xinxin','新新','1m8 100w存款')
r.hset('xinxin','红红','难道岁月 多少课 也可白上')
r.hset('xinxin','谦谦','但愿步过瞻仰 你亦明白 看穿真相')
以上key是xinxin,value是以下截图的数据,登录上redis上查看以上代码的操作结果:

2)、获取value,需要制定大key和小key进行获取相应的value,例如:

print(r.hget('xinxin','新新').decode())  #指定大key和小key获取对应的数据

#获取结果是:
1m8 100w存款

3)、获取所有的key和value

print(r.hgetall('xinxin'))  #获取里面所有的k和-v

4)、删除key

r.hdel('stu_info','gyx')  #删除指定key
r.delete('stu_info') #删除整个key

5)、设置第一个key的失效时间

r.expire('xinxin',100) #第一个key设置失效时间

5、补充字符串转换

s='呵呵'
s.encode() #把字符串转成二进制
hwt = b'sdfsdfsdf'
hwt.decode() #把bytes类型转成字符串
												

Python 之redis操作的更多相关文章

  1. Python 使用 Redis 操作

    1.redis简介 redis是一款开源免费的高性能key-value数据库,redis特点: 支持更多的数据类型:字符串(String).列表(List).哈希(Map).数字(Int).集合(Se ...

  2. Python之Redis操作

    1.安装驱动 输入命令:pip install redis 2.直接使用驱动 import redis r = redis.StrictRedis(host='127.0.0.1', port=637 ...

  3. python对redis的常用操作 下 (无序集合,有序集合)

    无序集合: 首先介绍增加,删除和获得所有元素的方法.我将会用第二部分来讨论集合的特殊操作: In [136]: x.sadd("challenge", 1,2,3,4,5,6,7, ...

  4. python 全栈开发,Day101(redis操作,购物车,DRF解析器)

    昨日内容回顾 1. django请求生命周期? - 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端 请求头和请求体中会包含浏览器的动作(action),这个动作通常为get或者po ...

  5. python笔记7:mysql、redis操作

    模块安装: 数据操作用到的模块pymysql,需要通过pip install pymysql进行安装. redis操作用的模块是redis,需要通过pip install redis进行安装. 检验是 ...

  6. java、python及jmeter操作redis(接口自动化必备)

    redis是nosql数据库之一,其存储结构简单,提供高性能服务,所以在架构中是很常用的. 在做接口自动化测试过程中,有时也会涉及到redis,比如:发送短信验证码,我们做接口自动化测试,如何模拟发送 ...

  7. python学习之操作redis

    一.Redis安装网上很多可以查找 二.redis-py的安装,使用命令pip install redis. 安装过程中如果产生连接超时的错误,可以使用国内镜像参考如下 豆瓣:pip install ...

  8. python连接redis、redis字符串操作、hash操作、列表操作、其他通用操作、管道、django中使用redis

    今日内容概要 python连接redis redis字符串操作 redis之hash操作 redis之列表操作 redis其他 通用操作,管道 django中使用redis 内容详细 1.python ...

  9. Redis学习---Redis操作之Python连接

    PyCharm下的Redis连接 连接方式: 1. 操作模式 redis-py提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使 ...

随机推荐

  1. 【record】#10

    反正最近就一直在1600分左右徘徊;好想回蓝名啊

  2. Wanafly 挑战赛 14 E 无效位置 (线性基+并查集)

    Wanafly 挑战赛 14 E 无效位置 (线性基+并查集) 传送门:https://ac.nowcoder.com/acm/contest/81/#question 题意: n个数,m次操作 一个 ...

  3. CachedRowSet 接口

    Sun Microsystems 提供的 CachedRowSet 接口的参考实现是一个标准实现.开发人员可以按原样使用此实现.可以扩展它,也可以选择自己编写此接口的实现. CachedRowSet  ...

  4. JDBC 数据源

    概述 JNDI 数据源配置的相关内容已经在 JNDI 资源文档中详细介绍过.但从 Tomcat 用户的反馈意见来看,有些配置的细节问题非常棘手. 针对常用的数据库,我们已经给 Tomcat 用户提供了 ...

  5. 第二阶段:4.商业需求文档MRD:3.PRD-页面结构图

    这也是功能结构以及优先级 这是页面层级 页面结构图 再细分某一个频道或者子页面 层层细分 用mind做的页面结构图 里面也包含了功能

  6. Python3 批量修改JPG图片尺寸

    功能 批量修改当前文件夹下的jpg图片到设置的尺寸 将修改后的图片移动到 new_img 这个文件夹下 导入库 from PIL import Image # 处理图片模块 import os imp ...

  7. 【重学Node.js 第1&2篇】本地搭建Node环境并起RESTful Api服务

    本地搭建Node环境并起RESTful Api服务 课程介绍看这里:https://www.cnblogs.com/zhangran/p/11963616.html 项目github地址:https: ...

  8. linux 更新jdk

    1.上传jdk版本的包 下载JDK地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.h ...

  9. EasyMock.replay()有什么用

    现在很多项目都使用EasyMock来作为单元测试框架. EasyMock一个方法,基本上是三步:EasyMock.expect().EasyMock.replay().EasyMock.verify( ...

  10. Unity3D小游戏开发之两个我踩过的坑

    最近在开发一个植物大战僵尸小游戏,今天写了一早上的代码,踩了两个坑,这两个坑的位置分别位于触发器和数据转换,写这篇博文以此来让其他程序员不要再去踩这两个坑. 1.我在做简易僵尸模型的时候,这个僵尸模型 ...