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. win7+oracle11,vmbox中winxp连接

    重启TNSLSNR  打开CMD,输入以下命令. lsnrctl stop lsnrctl start lsnrctl stat /////////////////////////////////// ...

  2. 利用Feed43为网站自制RSS源

    什么是RSS,它可以做什么 快2020年了,RSS日渐式微,我也是去年机缘巧合下才开始使用的,以前只是听说过.RSS,全称Really Simple Syndication,又称简易信息聚合(也叫聚合 ...

  3. 「分块系列」「洛谷P4168 [Violet]」蒲公英 解题报告

    蒲公英 Description 我们把所有的蒲公英看成一个长度为\(n\)的序列(\(a_1,a_2,...a_n\)),其中\(a_i\)为一个正整数,表示第i棵蒲公英的种类的编号. 每次询问一个区 ...

  4. Django进阶一

    目录 表关系创建 django请求生命周期流程 路由层 无名分组 有名分组 反向解析 路由分发 名称空间 虚拟环境 django版本区别 伪静态 视图层 三板斧 JsonResponse前后端交互数据 ...

  5. Linux下离线安装gdb及常用命令汇总

    以redhat6.5虚拟机作为例子,由于工作性质,大部分情况linux的软件安装,是采用离线方式的. 1.离线安装gdb 像gcc.g++或者gdb这种常用的工具软件,一般虚拟机都会安装的,如未安装, ...

  6. #ICCV2019论文阅读#Fully_convolutional_Features

    一 知识背景 3D scan&cloud points(点云)patch-based features,fully convolutional network, deep metric lea ...

  7. Class 'org.apache.tomcat.jdbc.pool.DataSource' not found

    把项目移动到新的运行环境时,明明包都导入了,项目也放进tomcat里面了,但是还会找不到该类 解决方法:项目右键选择底下的Properties ->project facets ->jav ...

  8. openjudge 7622 求排列的逆序数(归并)

    7622:求排列的逆序数 总时间限制:  1000ms   内存限制:  65536kB 描述 在Internet上的搜索引擎经常需要对信息进行比较,比如可以通过某个人对一些事物的排名来估计他(或她) ...

  9. 剑指Offer-3~9题

    3. 数组中重复的数字 题目描述: 在一个长度为 \(n​\) 的数组里的所有数字都在 \(0​\) 到 \(n-1​\) 的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的,也不知道每个 ...

  10. Spring中PropertiesLoaderUtils应用

    FileSystemResource fileSystemResource =new FileSystemResource("D:/home/conf/mail.properties&quo ...