一.redis使用:

在下载安装好redis后,pycharm内也需要安装redis工具包.cmd窗口运行pip install redis后才可在pycharm

内导入import redis来使用.

对于已经存在的redis数据的key,再次给同一个key设置值时,数据类型必须一致,否则报错

常用语法:

conn.set( name, v }     结果为{ name:v }      取值: conn.get( name )

conn.hset( name, k ,v )  结果为{ name:{k : v} }   取值:conn.hget( name, k )

conn.hmset( name, {k1:v1, k2:v2} }  结果为{ name: {k1:v1, k2:v2} }  取值:conn.hgetall( name )

conn.scan_iter(模糊匹配key的条件)  结果是个由所有符合条件的key组成的迭代器

conn.keys( 模糊匹配key的条件 )  结果是所有符合条件的key组成的列表

conn.exists( ‘key’ )  用来判断key在不在redis中,结果是布尔值

conn.delete(要删除的key)  或者 conn.delete( *[要删除的key,] )

二.redis使用技巧:

数据结构如下:

{
shopping_car_2_1:{'price_policy_dict': '{
                         "1": {"valid_period_text": "1个月", "price": 9.9},
                         "2": {"valid_period_text": "3个月", "price": 69.0},
                         "3": {"valid_period_text": "6个月", "price": 99.0}

}',
                       'title': 'Python开发21天入门',

 'id': '1'

}

}

结构说明: 最外层的{}为第一层数据结构

          shopping_car_2_1:{}这个是第二层数据结构,第二层放的字典redis是支持的

  再往里就是第三层数据结构了,第三层不支持字典,

 

1.redis因版本不同,某些版本内不支持ImageField这种models表字段的数据类型

2.redis支持字典key的模糊查询,比如:

shopping_car_2_* 可以匹配到redis中key是以下格式的所有: shopping_car_2_这里可是任意东西

3.模糊匹配的语法,及结果类型

all_keys=conn.scan_iter(shopping_2_*)  # 结果是迭代器,模糊匹配以shopping_2_开头的所有key

for key in all_keys:   # 循环取值,注意取到的结果是redis内保存的key,而不是值

value=conn.hgetall( key )  # hgetall取得是二层key对应的字典

value[‘price_policy_dict’]=json.loads( value[‘price_policy_dict’] )

# 修改第三层的json字符串字典为真正的python的字典类型.

三.redis连接池概念

建立好一个redis连接池,每次要操作redis时就从连接池中拿建立好的连接去操作数据即可.

项目内新建py文件,导入redis,在这里建立个连接池,在要使用redis的文件中把连接池导入.

py内代码如下:

import redis

# 引入连接池概念,每次都是从连接池中拿一个连接去使用

POOL=redis.ConnectionPool(host='127.0.0.1',port=6379,decode_responses=True)

# 括号前为固定语法,括号内参数为(指定redis的地址,端口,自动帮我们解码)

视图中应用时代码如下:

from 文件路径 import POOL

conn=redis.Redis(connection_pool=POOL)  # 指定从连接池中拿已建立好的连接

然后即可使用conn进行redis的命令操作了.

redis使用摘要的更多相关文章

  1. ELK Stack (1) —— ELK + Redis安装

    ELK Stack (1) -- ELK + Redis安装 摘要 安装Elasticsearch.Logstash.Kibana与Redis以实现一个日志收集平台 版本 elasticsearch版 ...

  2. [源码分析] OpenTracing之跟踪Redis

    [源码分析] OpenTracing之跟踪Redis 目录 [源码分析] OpenTracing之跟踪Redis 0x00 摘要 0x01 总体逻辑 1.1 相关概念 1.2 埋点插件 1.3 总体逻 ...

  3. LUA+resty 搭建验证码服务器

    使用Lua和OpenResty搭建验证码服务器 雨客 2016-04-08 16:38:11 浏览2525 评论0 云数据库Redis版 摘要: Lua下有个Lua-GD图形库,通过简单的Lua语句就 ...

  4. 从零开始搭建框架SSM+Redis+Mysql(一)之摘要

    从零开始搭建框架SSM+Redis+Mysql(一)之摘要 本文章为本人实际的操作后的回忆笔记,如果有步骤错漏,希望来信307793969@qq.com或者评论指出. 本文章只体现过程,仅体现操作流程 ...

  5. Redis百亿级Key存储方案(转)

    1 需求背景 该应用场景为DMP缓存存储需求,DMP需要管理非常多的第三方id数据,其中包括各媒体cookie与自身cookie(以下统称supperid)的mapping关系,还包括了supperi ...

  6. 分布式中使用Redis实现Session共享(二)

    上一篇介绍了一些redis的安装及使用步骤,本篇开始将介绍redis的实际应用场景,先从最常见的session开始,刚好也重新学习一遍session的实现原理.在阅读之前假设你已经会使用nginx+i ...

  7. [Redis]发布/订阅

    摘要 有这样的一个场景,管理员需要发布一条消息,所有的客户端都要受到通知.然后想到了发布订阅模式.使用redis的发布与订阅实现起来更简单一些,说做就做,这里弄个简单的demo,先模拟下. 核心代码 ...

  8. 物联网应用中实时定位与轨迹回放的解决方案 – Redis的典型运用(转载)

    物联网应用中实时定位与轨迹回放的解决方案 – Redis的典型运用(转载)   2015年11月14日|    by: nbboy|    Category: 系统设计, 缓存设计, 高性能系统 摘要 ...

  9. redis数据结构整理(一)

    摘要: 0.redis安装 1.redis的常用数据结构类型 1.1  String 1.2  List 1.3  Set 1.4  Sorted Set 1.5  Hash 2.redis是单进程单 ...

随机推荐

  1. Eureka概述

    1:Eureka是什么 Eureka是Spring Cloud Netflix的一个子模块,也是核心模块之一.Eureka是一个基于REST的服务,用于定位服务,以及·实现云端中间层服务发现和故障转移 ...

  2. sql server的for xml path与变通的行转列

    SQL Server中有提供一个FOR XML PATH的子句(不知道能不能叫函数),用来将查询结果行输出成XML格式,我们可以通过这个语法做一些变通实现一些特定的功能,比如说行转列.要会变通的话,当 ...

  3. springboot: xercesImpl.jar和xml-apis.jar (系统找不到指定的文件)

    springboot内置的tomcat为8.5.23, tomcat在8.5.2 中 修改了加载jar的方式,8.5.2 版本会解析jar中MANIFEST.MF文件,当该文件包含class-path ...

  4. Centos 7搭建Gitlab服务器超详细Centos 7搭建Gitlab服务器超详细(搭建成功)

    一. 安装并配置必要的依赖关系在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget,以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问. 注意:用户不 ...

  5. 『kamp 树形dp』

    kamp Description jz 市的云台山是个很美丽的景区,小 x 暑期到云台山打工,他的任务是开景区的大巴. 云台山景区有 N 个景点,这 N 个景点由 N-1 条道路连接而成,我们保证这 ...

  6. 【02】Python:数据类型和运算符

    写在前面的话 任何编程语言一开始都是从概念出发的,但各种编程语言之间的概念可能又会有差异,所以,老生常谈,我们还是需要从新过一遍 Python 的概念,当然,如果你已经是老司机了,完全可以一晃而过,不 ...

  7. Jenkins的使用(一)

    Jenkins 介绍: Jenkins是一个独立的开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成 变成可能.前身是Huds ...

  8. SQL Date 时间类型处理

    SQL 日期(Dates)   2019-10-17 22:17:26 当我们处理日期时,最难的任务恐怕是确保插入的日期的格式,与数据库中日期列的格式相匹配. 保存的如果是日期部分,查询不会有太大问题 ...

  9. 【翻译】Tusdotnet中文文档(3)自定义功能和相关技术

    自定义功能和相关技术 本篇按照如下结构翻译 自定义功能 自定义数据仓库 相关技术 架构和总体概念 自定义数据仓库 tusdotnet附带一个存储库TusDiskStore,它将文件保存在磁盘上的一个目 ...

  10. ElasticSearch查看删除关闭索引

    curl -XDELETE 'http://10.1.2.2:9200/iis_log_2019-07'     #删除名为/iis_log_2019-07的索引 curl -XPOST 'http: ...