## 概述
redis是一种nosql数据库,它的数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘,即可以将数据持久化,并且它比memcached支持更多的数据结构\(string,list列表\[队列和栈\],set\(集合\),sorted set\[有序集合\],hash\(hash表\)\)。
相关参考文档:[http://redisdoc.com/index.html](http://redisdoc.com/index.html)
## redis使用场景
1. 登录会话存储,存储在redis中,与memcached相比,数据不会丢失
2. 排行版/计数器:比如一些秀场类的项目,经常会有一些前多少名的主播排名。还有一些文章阅读量的技术,或者新浪微博的点赞数等。
3. 作为消息队列:比如celery就是使用redis作为中间人
4. 当前在线人数:还是之前的秀场例子,会显示当前系统有多少在线人数
5. 一些常用的数据缓存:比如我们的BBS论坛,模块不会经常变化的,但是每次访问首页都要从mysql中获取,可以在redis中缓存起来,不用每次都请求数据库。
6. 把前200篇文章缓存或者评论缓存:一般用户浏览网站,只会浏览前面一部分文章或者评论,那么可以把前面200篇文章和对应的评论缓存起来。用户访问超过的,就访问数据库,并且以后文章超过200篇,则把之前的文章删除
7. 好友关系:微博的好友关系使用redis实现
8. 发布和订阅功能:可以用来做聊天软件
## redis和memcached的比较
| | memcached | redis |
| :--- | :--- | :--- |
| 类型 | 纯内存数据库 | 内存磁盘同步数据库 |
| 数据类型 | 在定义value时就要固定数据类型 | 不需要 |
| 虚拟内存 | 不支持 | 支持 |
| 过期策略 | 支持 | 支持 |
| 存储数据安全 | 不支持 | 可以将数据同步到dump.db中 |
| 灾难恢复 | 不支持 | 可以将磁盘中的数据恢复到内存中 |
| 分布式 | 支持 | 主从同步 |
| 订阅与发布 | 不支持 | 支持 |
- 简介
- 基础部分
- 准备
- 环境搭建
- 安装利器 - Pycharm
- 安装 Jupyter
- 虚拟环境
- Hello World
- 数据类型
- 输入输出
- 传统输出
- 格式化输出
- 读取键盘输入
- 注释
- 流程控制
- 操作符
- 算数运算
- 条件语句
- 条件表达式(三元操作符)
- 断言函数
- 循环语句
- range()
- 常见内置函数
- 数据结构
- 列表
- 创建列表
- 常用操作符
- 切片
- 列表生成式
- 字典
- 修改字典
- 元组
- 创建元组
- 集合
- 迭代
- 生成器
- 字符串
- 内建函数
- 数字
- math 模块
- 函数
- 如何使用函数
- 调用函数
- 定义函数
- 函数的参数
- 收集参数
- args
- 递归
- 高级函数
- 返回值
- 函数变量的作用域
- 匿名函数
- 内嵌函数和闭包
- 装饰器
- lambda表达式
- 日期和时间
- 测试、调试、异常
- 异常处理
- 日志信息
- 模块
- 使用模块
- 安装第三方模块
- 进阶部分
- 类与对象
- 魔法方法
- 内建模块
- 进程和线程
- 协程
- 数据库|存储
- 文件存储
- txt
- 缓存
- memcached 缓存系统
- memcached 介绍
- memcached 安装和参数详解
- telnet 操作memcached
- python 操作memcached
- memcached 的安全机制
- 关系数据库
- mysql
- 非关系数据库
- redis键值对数据库
- 安装以及客户端连接
- 字符串以及过期时间操作
- 列表操作
- 集合操作
- 哈希操作
- 事务操作
- 发布和订阅操作
- RDB和AOF的两种数据持久化
- Redis设置连接密码
- 其他机器连接本机redis
- python操作redis
- MongoDB
- orm模型
- 高级部分
- 图形界面
- Tkinter
- 介绍
- Label 组件
- Button 组件
- Checkbutton 组件
- Radiobutton 组件
- LabelFrame组件
- Scrollbar 组件
- Scale 组件
- Text 组件
- Indexes 用法
- Mark 用法
- Tags 用法
- Canvas 组件
- Menu 组件
- Menubutton 组件
- OptionMenu 组件
- Message 组件
- Spinbox 组件
- PanedWindow 组件
- Toplevel 组件
- 事件绑定
- 事件序列
- type
- modifier
- Event 对象
- 布局管理器
- pack
- grid
- place
- 标准对话框
- messagebox(消息对话框)
- filedialog(文件对话框)
- colorchooser(颜色选择对话框)
- turtle
- 正则表达式
- 网络通信
- 电子邮件
- 图像操作
- pillow
- OpenCV
- 自动化操作
- 科学计算
- 爬虫
- web
- 深度学习