Day29 PythonWeb全栈课程课堂内容
Day29 PythonWeb全栈课程课堂内容
- 1.Redis 前言介绍
- 1.1 磁盘和内存的介绍
- 1.2 Redis背景
- 1.3 Redis发展历史
- 1.4 Redis 是什么?
- 1.5 Redis 作用
- 1.6 Redis 使用
- 1.7 Redis 安装和启动
- 1.8 Redis 配置文件
- 1.9 Redis 数据库简单使用
- 2. Redis 常用五大数据类型
- 2.1 Redis-string
- 2.2 Redis-list
1.Redis 前言介绍
1.1 磁盘和内存的介绍
磁盘:利用磁记录技术存储数据的存储器。磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。早期计算机使用的磁盘是软磁盘(Floppy Disk,简称软盘),如今常用的磁盘是硬磁盘(Hard disk,简称硬盘)。
内存:内存(Memory)是计算机的重要部件之一,也称内存储器和主存储器,它用于暂时存放CPU中的运算数据,与硬盘等外部存储器交换的数据。它是外存与CPU进行沟通的桥梁,计算机中所有程序的运行都在内存中进行,内存性能的强弱影响计算机整体发挥的水平。只要计算机开始运行,操作系统就会把需要运算的数据从内存调到CPU中进行运算,当运算完成,CPU将结果传送出来。内存的运行也决定计算机整体运行快慢的程度。内存条由内存芯片、电路板、金手指等部分组成。
1.2 Redis背景
- 随着互联网+大数据时代的来临,传统的关系型数据库已经不能满足中大型网站日益增长的访问量和数据量。这个时候就需要一种能够快速存取数据的组件来缓解数据库服务I/O的压力,来解决系统性能上的瓶颈。
1.3 Redis发展历史
在互联网+大数据时代来临之前,企业的一些内部信息管理系统,一个单个数据库实例就能满足系统的需求单数据库实例
随着系统访问用户的增多,数据量的增大,单个数据库实例已经满足不了系统的读取需求。
缓存(memcache)+单数据库实例
缓存可以缓解系统的读取压力,但是数据量的写入压力持续增大。
缓存+主从数据库+读写分离
数据量再次增大,读写分离以后,主数据库的写库压力出现瓶颈。
缓存+主从数据库集群+读写分离+分库分表
互联网+大数据时代来临,关系型数据库不能很好的存取一些并发性高,实时性高的,并且数据格式不固定的数据。
nosql(no only sql)+主从数据库集群+读写分离+分库分表
1.4 Redis 是什么?
- 即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
- 关系型数据库:MySQL、oracle、SqlServer
1.5 Redis 作用
- 快速存取
1.6 Redis 使用
官网地址:https://redis.io/ https://redis.cn/
命令地址:http://doc.redisfans.com/
Redis的五大数据类型以及应用场景:
string
字符串、list
列表、set
合集、hash
哈希、zset
有序集合。
1.7 Redis 安装和启动
安装网址:https://redis.io/download 。
Ubuntu安装(源码安装)
From source code
Download, extract and compile Redis with:
$ wget https://download.redis.io/releases/redis-6.2.1.tar.gz $ tar xzf redis-6.2.1.tar.gz $ cd redis-6.2.1 $ make
The binaries that are now compiled are available in the
src
directory. Run Redis with:$ src/redis-server
You can interact with Redis using the built-in client:
$ src/redis-cli redis> set foo bar OK redis> get foo "bar"
From the official Ubuntu PPA
You can install the latest stable version of Redis from the
redislabs/redis
package repository. Add the repository to theapt
index, update it and install:
$ sudo add-apt-repository ppa:redislabs/redis $ sudo apt-get update $ sudo apt-get install redis
From Snapcraft
You can install the latest stable version of Redis from the Snapcraft marketplace:
$ sudo snap install redis
Are you new to Redis? Try our online, interactive tutorial.
1.8 Redis 配置文件
redis.conf
是redis的配置文件。查看配置文件$ sudo vim redis.conf 当redis作为守护进程运行的时候,它会写一个 pid 到 /var/run/redis.pid 文件里面。 daemonize no监听端口号,默认为 6379,如果你设为 0 ,redis 将不在 socket 上监听任何客户端连接。 port 6379设置数据库的数目。 databases 16根据给定的时间间隔和写入次数将数据保存到磁盘 下面的例子的意思是: 900 秒内如果至少有 1 个 key 的值变化,则保存 300 秒内如果至少有 10 个 key 的值变化,则保存 60 秒内如果至少有 10000 个 key 的值变化,则保存save 900 1 900秒内有1k发生变化就保存在磁盘内 save 300 10 300秒内有10k发生变化就保存在磁盘内 save 60 10000 960秒内有10000k发生变化就保存在磁盘内监听端口号,默认为 6379,如果你设为 0 ,redis 将不在 socket 上监听任何客户端连接。 port 6379Redis默认只允许本地连接,不允许其他机器连接 bind 127.0.0.1
更多配置文件:https://www.cnblogs.com/kreo/p/4423362.html
1.9 Redis 数据库简单使用
DBSIZE 查看当前数据库的key数量
keys * 查看key的内容
FLUSHDB 清空当前数据库的key的数量
FLUSHALL 清空所有库的key(慎用)
exists key 判断key是否存在
help 指令 指令查询
2. Redis 常用五大数据类型
2.1 Redis-string
string
是 Redis最基本的类型,一个key
对应一个value
。string
可以包含任何数据,最大不能超过512M。
set/get/mset/mget/append/del/strlen
set ---- 设置值 get ---- 获取值 mset ---- 设置多个值 mget ---- 获取多个值 append ---- 添加字段 del ---- 删除 strlen ---- 返回字符串长度
incr/decr/incrby/decrby
incr ---- 增加 decr ---- 减少 incrby ----- 制定增加多少 decrby ----- 制定减少多少
getrange/setrange
getrange ---- 获取指定区间范围内的值,类似between....and的关系 setrange ---- 代表从第几位开始替换,下脚本从零开始 从0 -1表示全部
expire
expire --设置有效时间 (用于获取手机验证码) expire key seconds
2.2 Redis-list
- 列表是简单的字符串列表,按照插入顺序排序,可以添加一个元素列表的头部(左边)或者尾部(右边)它的底层实际是个链表
1.lpush/rpush/lrange
lpush/rpush/lrange ---- 从左/从右/获取指定长度
lpush list01 1 2 3 4 5 倒序排列
rpush list02 1 2 3 4 5 正序排列
lrange list01 0 -1 获取list01 中的所有值
2.lpop/rpop
lpop/rpop ---- 移除最左/最右
lpop list01 删除元素5
rpop list01 删除元素1
3.lindex,按照索引下标获得元素(从上到下)
lrange list01 0 -1
lindex list01 1
4.llen,求列表长度
llen list01
5.lrem key
删N个value
lpush list03 a b c d e f
lrem list03 1 a 在list01中删除1个a
6.ltrim key
ltrim ---- 开始index结束index,截取指定范围的值后在赋值给key
ltrim list04 0 2 截取list04 从0到2的数据在赋值给list01
7.rpoplpush list01 list02 将list01中最后一个压入list02中第一位
lrange list01 0 -1
lrange list02 0 -1
rpoplpush list01 list02
8.lset key index value
lset list01 0 x 将list02中第一位换成x
9.linsert key before/after
linsert list02 before x php 在x之前加字段php
Day29 PythonWeb全栈课程课堂内容相关推荐
- Day7 PythonWeb全栈课程课堂内容
文章目录 1. 黏包 2. HTTP 3. 查看HTTP协议的通信过程 4. 静态web服务器 1. 黏包 当发送网络数据时,tcp协议会根据Nagle算法将时间间隔短,数据量小的多个数据包打包成一个 ...
- Bootstrap实战练习---Web全栈课程体系(表格+巨幕)
Bootstrap实战练习-Web全栈课程体系(表格+巨幕) 原网页效果图 连接 我的网页效果 -我的代码 <!DOCTYPE html> <html> <head> ...
- 石家庄python开发_石家庄PythonWeb全栈开发工程师修炼
[课程介绍] 课程以python语言为主导,进行web服务相关的全栈开发,包含后端服务器开发,部署,监控:web前端开发,前后端不分离模板模式开发,前后端分离,单独前端部署方案.课程涉及到的知识点有: ...
- java 前端工作内容_java前端、java后端、java全栈工作主要内容是什么?哪个薪资高?...
摘要 最近,听了一场关于java全栈工程师职位的简介说明,里面很清楚的说明了一下前端,后端,全栈都是做什么工作的.其实,想做这个行业,就应该了解职能以及技能需求,这样学习才能更高效.我知道一些刚刚入行 ...
- pythonweb全栈开发_Web全栈开发穿插路程(python+js)
简介: 穿插路程,是指快去快回,来去一阵风,走的快,走马观花,没有细品.细品那就要慢慢熬功夫喽. 1.完成后的效果是: 用户访问入口页面,录入信息,提交后结果以逐步添加的形式展现在页面上,可以对历史输 ...
- PythonWeb全栈开发介绍
文章目录 1 什么是Web开发 2 Python Web开发技能点 3 什么是全栈开发 4 技术选型如何开始 1 什么是Web开发 权威定义 Web(World Wide Web)即全球广域网也称为万 ...
- 【Ruby on Rails全栈课程】4.3 评论功能实现(二)--创建帖子详情页面
1.完善样式,用来显示帖子详情以及评论信息等,编辑app/assets/stylesheets/posts.scss文件,在原有代码下面添加代码: .head {font-size: 18px;fon ...
- pythonweb全栈开发_Python web全栈学习路线
模块 内容 Linux 运维 Linux 安装, 网络基础知识点, ISO 七层模型, Linux 基本命令, Linux 文件系统, Linux 常用命令, Linux 权限管理, Linux 用户 ...
- 【Ruby on Rails全栈课程】4.1 点赞功能
1.功能描述: (1)一个用户对同一帖子只能点赞一次,点击第二次是取消赞 (2)用户不刷新页面的时候,点赞时当前页面相应贴子的点赞数+1,图标变成fa-thumbs-up,取消赞时当前页面相应帖子的点 ...
最新文章
- ClickHouse留存分析工具十亿数据秒级查询方案
- PIC18F452之1602自定义字符
- springMVC问题XXX is not mapped [from XX]或者Unknown entity: com.spring.main.pojo.Person
- 中餐菜单分类名称创意_(全)西餐厨师岗位分类、薪资待遇与职责介绍
- (87)FPGA锁存器与触发器-面试必问(十一)(第18天)
- 你还在盲目做抖音吗?
- Linux -- 特殊权限 (转)
- 诺基亚接连巨亏:死守塞班难学摩托罗拉
- 小程序 ---- (自定义头部导航)
- Solaris下用Bind安装和配置DNS
- Clover引导简明教程
- 2021年上半年数据库系统工程师上午真题及答案解析
- VS2017社区版离线下载
- EDI REMADV报文详解
- 如何在D盘以管理员身份,运行cmd
- Type mismatch in key from map: expected org.apache.hadoop.io.Text, received org.apache.hadoop.io.Lon
- LEAK: ByteBuf.release() was not called before it‘s garbage-collected
- 信息安全技术——(五)信息隐藏技术
- Day-5 python
- 小 200 行 Python 代码做了一个换脸程序