Docker安装Redis与Python的交互

Redis数据库,平常做缓存用的最多,之前一直没有记录过redis的安装流程,等到用时才想起来去百度上搜索,然而搜出来的东西十有八九都大同小异。所以这次用docker安装一下,再此记录

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的

1.查询镜像

docker search redis

2.拉取官方镜像

docker pull redis

3.在本地创建一个文件夹来存放redis的配置文件、数据(也就是所谓的挂载数据做用就是将此目录中的文件或文件夹覆盖掉容器内部的文件或文件夹

mkdir conf
docker run -d -p 6379:6379 -v $PWD/conf/redis.conf:/usr/local/etc/redis/redis.conf -v $PWD/data:/data --name docker-redis docker.io/redis redis-server /usr/local/etc/redis/redis.conf --appendonly yes
# -d:表示后台运行,不加-d执行上面的命令你就会看到redis启动的日志信息了
# p:表示端口映射,冒号左面的是我们的宿主机的端口,也就是我们虚拟机的端口,而右侧则表示的是mysql容器内的端口
# --name:是我们给redis容器取的名字
# -v:表示挂载路径,$PWD表示当前目录下,冒号左面的表示我们宿主机的挂载目录,也就是我们虚拟机所在的文件路径,冒号右边则表是的是redis容器在容器内部的路径,上面的命令我挂载了redis.conf(redis的配置文件)

4.此时redis启动成功,但是没有密码,我们可以设置密码并启动

docker stop $(docker ps -aq)  #停止所有镜像
docker run -d --name redis -p 6379:6379 redis --requirepass "luweiadmin"
# 查看一下是否成功
docker images
docker ps
# 查看容器运行的IP
docker inspect docker_redis | grep IPAddress
# 连接redis的几种方式
docker exec -it d0b86 redis-cli
docker exec -it d0b86 redis-cli -h localhost -p 6379 
docker exec -it d0b86 redis-cli -h 127.0.0.1 -p 6379 
docker exec -it d0b86 redis-cli -h 172.168.1.1 -p 6379  # 远程连接

5.进入redis

docker exec -it docker_redis redis-cli
127.0.0.1:6379> auth admin
# 远程连接时使用  如果有密码 使用 -a参数
docker exec -it redis_s redis-cli -h 192.168.1.1 -p 6379 -a admin 
192.168.1.1:6379>

6.redis安装完成,现在介绍一下用python连接redis的几种方法

# 首先安装redis
pip install redis
# 一、直连
import redis
coon = redis.Redis(host='127.0.0.1',port=6379,password='admin') # 拿到redis链接
coon.set('name','luwei') # 朝内存数据库存放key是name,value是luwei的字符串
coon.get('name') # 获取值  打印出来的值为luwei# 二、使用连接池连接
import redis
pool = redis.ConnectionPool(host='127.0.0.1',port=6379,password='admin')# 连接池
coon = redis.Redis(connection_pool=pool)# 从池子里拿一个连接
coon.set('name','luwei')
coon.get('name')# 三、在Django里面进行连接
pip install django_redis  #安装模块
# setting.py 中配置
CACHES = {'default': {'BACKEND': 'django_redis.cache.RedisCache',# 缓存使用redis数据库储存'LOCATION': 'redis://127.0.0.1:6379/1',# 使用本地的6379端口(redis的默认端口)第1个数据库(redis共有16个数据库0-15)"OPTIONS": {"CLIENT_CLASS": "django_redis.client.DefaultClient",# 使用django_redis的默认参数"PASSWORD":"admin"},},
}
# 配置完成后即可在view文件中连接redis
from django_redis import get_redis_connection
conn = get_redis_connection('default') # 建立连接 default为设置的连接名
conn.set('name','luwei')
conn.get('name')
name = conn.hget('name', 'luwei') # hget hash取值# 四、Django框架中session存储到redis中的配置
# 第一种
pip install django-redis-sessions  # 安装包
#  在Django项目的settings文件中增加下面的配置
SESSION_ENGINE = 'redis_sessions.session'
SESSION_REDIS_HOST = 'localhost'
SESSION_REDIS_PORT = 6379
SESSION_REDIS_DB = 1
SESSION_REDIS_PASSWORD = 'admin'
SESSION_REDIS_PREFIX = 'session'# 第二种 先将Django中的缓存设置为redis,然后将session的存储地方设置为Django的缓存中
CACHES = {"default": {"BACKEND": "django_redis.cache.RedisCache",# 把这里缓存你的redis服务器ip和port"LOCATION": "redis://192.168.1.1:6379/1","OPTIONS": {"CLIENT_CLASS": "django_redis.client.DefaultClient","PASSWORD":"admin"}}
}
# 设置redis存储session信息
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
SESSION_CACHE_ALIAS = "default"

虽然写的很简练,但确实是最实用的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/8379.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AcrelEMS企业微电网能效管理平台实现用户侧智能配电和智能用电管理-安科瑞黄安南

摘要:随着科技的发展,电力系统正逐步向智能化、数字化、互联网化迈进。智能配电与智能用电是电力产业发展的重要方向,将为传统电力系统带来革命性的变革。本文将对智能配电和智能用电的概念、特点、关键技术及应用进行详细介绍。 1、智能配电…

数据结构初阶--带头双向循环链表

目录 一.带头双向循环链表的定义 二.带头双向循环链表的功能实现 2.1.带头双向循环链表的定义 2.2.带头双向循环链表的结点创建 2.3.带头双向循环链表的初始化 2.4.带头双向循环链表的打印 2.5.带头双向循环链表的判空 2.6.带头双向循环链表的尾插 2.7.带头双向循环链…

【node.js】02-path模块

目录 1. path.join() 2. path.basename() 3. path.extname() 1. path.join() 使用 path.join() 方法,可以把多个路径片段拼接为完整的路径字符串,语法格式如下: path.join([...paths]) 例子: const path require(path)co…

白皮书|数字孪生工厂:成就智能制造的未来

前言 目前我国已经进入“技术应用”的数字孪生双驱动时代,在市场需求和国家政策的推动下,各地因地制宜发展数字孪生技术,深入开展数字孪生应用建设。今天我们就重点来聊一聊数字孪生技术在工厂中的应用,希望通过本次案例的深度剖析…

深“扒”云原生高性能分布式文件系统JuiceFS

JuiceFS 是一款面向云原生设计的高性能分布式文件系统,在 Apache 2.0 开源协议下发布。提供完备的 POSIX 兼容性,可将几乎所有对象存储接入本地作为海量本地磁盘使用,亦可同时在跨平台、跨地区的不同主机上挂载读写。 JuiceFS 简介 JuiceFS…

测试PHP与MySQL数据库连接查询,新手

创建库 :create database if not exists web; 创建表 : create table if not exists web.students(id int,name varchar(3),age int,birth datetime); 插入数据:insert web.students values (1,"张三",18,now()),(1,"李…

智慧养殖APP及小程序多端跨平台技术选型分析

智慧养殖APP及小程序多端跨平台技术选型分析 1. 框架选择 ------Uniapp------ 优势:使用Vue.js语法,学习成本较低;一套代码,能同时支持APP/H5/小程序,是较为全面的跨平台框架。 ​ 开发小程序的不二选择,…

线性代数——特征值和特征向量

文章目录 版权声明补充知识求和公式的性质常用希腊字符读音 特征值和特征向量相似矩阵相似对角化实对称矩阵 版权声明 本文大部分内容皆来自李永乐老师考研教材和视频课。 补充知识 求和公式的性质 ∑ i 1 n k a i k ∑ i 1 n a i \sum_{i1}^nka_ik\sum_{i1}^na_i i1∑n​…

visual studio 2022换背景遇到的问题

如果要自定义背景图,则可以下载ClaudialIDE 1.在拓展->点击拓展管理->右上角搜索background->点击下载ClaudialIDE->加载完之后需要关闭vs界面进行下载,下载失败,弹出“由于出现以下错误 无法安装一个或多个扩展”。 解决&#x…

推荐几款不错的AI绘画工具

随着近年来数据、算法等核心技术的不断进步,人工智能在内容创作各垂直领域的比例不断增加,包括人工智能写作、人工智能编辑和最近流行的人工智能绘画。 许多朋友也想跟上潮流,使用人工智能绘画生成软件创建人工智能图像,但我不知…

ssh、scp和sshpass使用

1、ssh ssh 用户名ip地址2、scp 2.1 拉取文件 scp -r 用户名1ip地址:/远程文件目录/远程服务器文件 /本地文件目录/2.2 上传文件 scp -r /本地文件 用户名1ip地址:/远程文件目录/3、sshpass 3.1 定义 sshpass 的定义: ssh 登陆不能在命令行中指定密码&#xf…

手机变局2023:一场瞄准产品和技术的“思维革命”

以折叠屏冲高端,已成为中国手机厂商们的共识。 在这个苹果未涉足的领域,国产手机厂商们加快脚步迭代推新,积极抢占机遇。但平心而论,虽然国产折叠屏机型众多,但市场上始终缺乏一款突破性的产品作为标杆,为…

数据结构【树】

第五章 树 一、树 1.定义:n个结点的集合,n0为空树;是递归的,是一种逻辑结构,同时也是一种分层结构; 特点 树的根结点没有前驱结点,除了根结点外的所有结点有且只有一个前驱结点;树…

MySQL学习-第一部分

文章目录 MySQL数据库1 概述1.1概述1.2安装MYSQL(Windows下)1.2.1需要注意的事项: 1.3 Mysql的卸载1.4查看Mysql服务1.5启动/关闭SQL的服务1.6客户端登录/使用MySql登录退出问题:ERROR 1045 (28000)解决方案第一步:关闭…

Clion开发STM32之W5500系列(综合实验)

说明 此为w5500模块的综合实验测试模块,包含dhcp、dns、ntp以上三个模块的驱动参考之前的文章,本篇不做说明.使用的开发芯片 stm32f103vet6系列,外设接口使用的spi2 实验内容: 通过dhcp动态获取ip,通过dns解析NTP服务域名的ip通过NTP服务ip获取时间 w5500配置驱…

学生护眼台灯几瓦最舒适?2023全新五款护眼台灯推荐

每次经过学校,发现戴眼镜的小学生真的不少,通过近几年的儿童以及青少年的近视人数可看出,我国的近视人数中,儿童以及青少年占比53.5%,所以许多家长逐渐重视孩子用眼健康问题,会选择护眼台灯用于孩子写作业和…

第1章 获取数据库中的数据

CoreShop源程序是以数据库优先进行定义的,所以其本身不包含代码优先的定义,但本从更习惯于代码优先,所以为其定义了代码优先的定义。 1 CoreCms.Net.Model.Entities.SysRole using SqlSugar; using System.ComponentModel.DataAnnotations…

【JavaEE初阶】Tomcat安装与使用及初识Servlet

文章目录 1. Tomcat的安装与使用1.1 Tomcat安装1.2 Tomcat的启动1.3 Tomcat部署前端页面 2. Servlet2.1 Servlet是什么2.2 第一个Servlet程序2.3 常见错误 1. Tomcat的安装与使用 1.1 Tomcat安装 在浏览器中搜索Tomcat,打开官方网页.Tomcat官网 点击下载Tomcat8. 点击下载压…

PSP - 使用 MMseqs2 工具快速搜索蛋白质序列数据库 (GMGC)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/131934642 MMseq2 是非常强大和高效的生物信息学软件,可以在极短的时间内对大规模的核苷酸和蛋白质序列进行搜索和聚类。主要特点有&a…

fpga_pwm呼吸灯(EP4CE6F17C8)

文章目录 一、呼吸灯二、代码实现三、引脚分配 一、呼吸灯 呼吸灯是指灯光在微电脑的控制之下完成由亮到暗的逐渐变化,使用开发板上的四个led灯实现1s间隔的呼吸灯。 二、代码实现 c module pwm_led( input clk ,input rst_n ,output reg [3:0] led ); …