1.复习内容
2.灵感代办
3.学习内容
-
Redis的特点
- 开源,C语言编写,高效,基于内存,可以持久化
- 基于key和value来存储数据,属于nosql数据库
- 支持:字符串strings,散列hashed,列表lists,集合sets,有序集合,sortedsets等等
-
Redis高级功能
- 持久化:将内存中的数据保存在硬盘中,方便数据备份恢复
- 发布订阅功能,可以将消息分发给多个客户端,多用于广播系统
- 过期key:设定数据过期时间,过期自动销毁
- 事务功能:原子执行的多个操作
- 主从复制
- Sentinel哨兵
-
Redis远程连接的设置
- 关闭 bind 127.0.0.1 ::1 # 绑定本地
- 将yes改为no protected-mode yes
- 设一下验证密码 requirepass
- 一定要记得,重启服务
-
Redis的应用场景
- 在服务端和客户端之间,可以方便用户快速读取数据,如果没有数据可以在从服务器拿数据
- 经常访问,需要实时访问的数据,一般都使用redis存放
-
Redis和Mysql的区别
- 一个是非关系型,一个是关系型模型
-
Redis设置数据过期的方式
- 1.创建key时候指定ex
- 2.expire key time 这个是秒
- 3.pexpire key time 这个是毫秒
- 4.ttl key 查看过期时间
- 5.persist key 取消过期设置
-
Redis通用命令
- select 0 选定一个库
- keys * 查看所有的key,可以是组合匹配
- TYPE key 查看key的类型
- exists key 查看key是否存在
- del key 删除key
- rename key newkey 重命名
- getset key value 如果不存在 就赋值
- flushdb 清除当前库的所有数据
- flushall 清除所有库的数据
-
Redis数据类型
-
字符串数据类型
- key要长度适中,能懂,不啰嗦
- 字符串类型的值,最多能存储512M
- Redis在python中获取的都是字节串
- 在redis中,字符串,数字,都会转为字符串
- 命名规范:层级命名
- name::wangjie ,age::20
- 常用命令:
- set,setnx (有则不更改,无则创建),get,mset,mget,strlen,
- 数字操作:incr,decr,
- ex参数是设置key的有效期
- 扩展命令
- append,在后面追加字符串
- setrange key index value,设置字符串索引位置的值
- getrange key start stop,获取字符串索引位置
- incrby key step,decrby key step 指定步长的增长
-
列表数据类型 List
- 特点:
- 列表分为开头和结尾,开头是left,结尾是right
- 列表中的元素都要是字符串
- 列表可以在开头,结尾删除元素,中间删除效率不高
- 元素可以重复
- 存放元素个数很多 2的32次方-1
- 索引用法跟python差不多
- 方法:
- 插入
- LPUSH / RPUSH key *value,左右插入值,可以插入多个
- 查看,设置元素
- 查看LRANGE key start stop
- 获取LINDEX key value
- 设置LSET key index value
- 获取列表长度 LLEN key
- 弹出元素
- LPOP key 头弹出
- RPOP key 尾弹出
- RPOPLPUSH source destination 一个列表弹出,一个列表接收
- 移除指定元素
- LREM key count value(删除|count|个元素)
- count 是负数,则从right 尾开始
- count 是正数,则从left 头开始
- count 是零,所有都删除
- LTRIM 除指定范围外元素全部删除
- LTRIM key start stop
- 插入元素
- LINSERT
- LINSERT key BEFORE/AFTER value newvalue
- 在一个值的前面或者后面插入元素,如果没有value 则不操作
- 阻塞弹出(BLPOP|BRPOP)
- 如果有key则弹出,没有则阻塞等待
- BLPOP / BRPOP key timeout
4.扩展延伸知识
-
排序算法复杂度

-
python 切片的注意事项
- 切片就是生成了一个新的列表
- 切片选择的是列表中的地址,也就是浅拷贝,两个列表指向的都是一个地址内的值,改动一个另一个也会变
- 列表2=列表1 ,这样是将列表的地址赋值给列表
- [:1] 这样返回的是一个列表,因为是范围,即使就选择一个元素
-
python restful设计
-
大型项目中,使用restful不需要很深厚的开发功底
-
资源多用
- /user 可以获取所有数据、最好添加分页,一次性返回所有信心,数据量太大
- /user/56 获取指定数据
-
资源的表示
- /users 用名词,而不是动词
- 更常见的是使用复数形式命名 也就是加s
- 更简洁,url数目更少
-
用HTTP方法操作资源
- 使用:GET,PUT,DELETE,POST等等来操作资源
-
可选的,复杂的,使用查询字符串?
- /users?name=joke&age=10
-
使用HTTP状态码
- 1xx,2xx,3xx,4xx,5xx
-
返回有用的错误码
- 错误码有所提示
-
小驼峰命名法
- json中使用小驼峰命名法
- 不要使用下划线_来连接
-
url中可以添加版本号
- 要加版本号,方便以后可以修改
5.知识内容个人梳理
6.今天都复习了之前的什么内容
3.学习内容
-
Redis的特点
- 开源,C语言编写,高效,基于内存,可以持久化
- 基于key和value来存储数据,属于nosql数据库
- 支持:字符串strings,散列hashed,列表lists,集合sets,有序集合,sortedsets等等
-
Redis高级功能
- 持久化:将内存中的数据保存在硬盘中,方便数据备份恢复
- 发布订阅功能,可以将消息分发给多个客户端,多用于广播系统
- 过期key:设定数据过期时间,过期自动销毁
- 事务功能:原子执行的多个操作
- 主从复制
- Sentinel哨兵
-
Redis远程连接的设置
- 关闭 bind 127.0.0.1 ::1 # 绑定本地
- 将yes改为no protected-mode yes
- 设一下验证密码 requirepass
- 一定要记得,重启服务
-
Redis的应用场景
- 在服务端和客户端之间,可以方便用户快速读取数据,如果没有数据可以在从服务器拿数据
- 经常访问,需要实时访问的数据,一般都使用redis存放
-
Redis和Mysql的区别
- 一个是非关系型,一个是关系型模型
-
Redis设置数据过期的方式
- 1.创建key时候指定ex
- 2.expire key time 这个是秒
- 3.pexpire key time 这个是毫秒
- 4.ttl key 查看过期时间
- 5.persist key 取消过期设置
-
Redis通用命令
- select 0 选定一个库
- keys * 查看所有的key,可以是组合匹配
- TYPE key 查看key的类型
- exists key 查看key是否存在
- del key 删除key
- rename key newkey 重命名
- getset key value 如果不存在 就赋值
- flushdb 清除当前库的所有数据
- flushall 清除所有库的数据
-
Redis数据类型
-
字符串数据类型
- key要长度适中,能懂,不啰嗦
- 字符串类型的值,最多能存储512M
- Redis在python中获取的都是字节串
- 在redis中,字符串,数字,都会转为字符串
- 命名规范:层级命名
- name::wangjie ,age::20
- 常用命令:
- set,setnx (有则不更改,无则创建),get,mset,mget,strlen,
- 数字操作:incr,decr,
- ex参数是设置key的有效期
- 扩展命令
- append,在后面追加字符串
- setrange key index value,设置字符串索引位置的值
- getrange key start stop,获取字符串索引位置
- incrby key step,decrby key step 指定步长的增长
-
列表数据类型 List
- 特点:
- 列表分为开头和结尾,开头是left,结尾是right
- 列表中的元素都要是字符串
- 列表可以在开头,结尾删除元素,中间删除效率不高
- 元素可以重复
- 存放元素个数很多 2的32次方-1
- 索引用法跟python差不多
- 方法:
- 插入
- LPUSH / RPUSH key *value,左右插入值,可以插入多个
- 查看,设置元素
- 查看LRANGE key start stop
- 获取LINDEX key value
- 设置LSET key index value
- 获取列表长度 LLEN key
- 弹出元素
- LPOP key 头弹出
- RPOP key 尾弹出
- RPOPLPUSH source destination 一个列表弹出,一个列表接收
- 移除指定元素
- LREM key count value(删除|count|个元素)
- count 是负数,则从right 尾开始
- count 是正数,则从left 头开始
- count 是零,所有都删除
- LTRIM 除指定范围外元素全部删除
- LTRIM key start stop
- 插入元素
- LINSERT
- LINSERT key BEFORE/AFTER value newvalue
- 在一个值的前面或者后面插入元素,如果没有value 则不操作
- 阻塞弹出(BLPOP|BRPOP)
- 如果有key则弹出,没有则阻塞等待
- BLPOP / BRPOP key timeout
4.扩展延伸知识
-
排序算法复杂度

-
python 切片的注意事项
- 切片就是生成了一个新的列表
- 切片选择的是列表中的地址,也就是浅拷贝,两个列表指向的都是一个地址内的值,改动一个另一个也会变
- 列表2=列表1 ,这样是将列表的地址赋值给列表
- [:1] 这样返回的是一个列表,因为是范围,即使就选择一个元素
-
python restful设计
-
大型项目中,使用restful不需要很深厚的开发功底
-
资源多用
- /user 可以获取所有数据、最好添加分页,一次性返回所有信心,数据量太大
- /user/56 获取指定数据
-
资源的表示
- /users 用名词,而不是动词
- 更常见的是使用复数形式命名 也就是加s
- 更简洁,url数目更少
-
用HTTP方法操作资源
- 使用:GET,PUT,DELETE,POST等等来操作资源
-
可选的,复杂的,使用查询字符串?
- /users?name=joke&age=10
-
使用HTTP状态码
- 1xx,2xx,3xx,4xx,5xx
-
返回有用的错误码
- 错误码有所提示
-
小驼峰命名法
- json中使用小驼峰命名法
- 不要使用下划线_来连接
-
url中可以添加版本号
- 要加版本号,方便以后可以修改
5.知识内容个人梳理
6.今天都复习了之前的什么内容
Redis的特点
- 开源,C语言编写,高效,基于内存,可以持久化
- 基于key和value来存储数据,属于nosql数据库
- 支持:字符串strings,散列hashed,列表lists,集合sets,有序集合,sortedsets等等
Redis高级功能
- 持久化:将内存中的数据保存在硬盘中,方便数据备份恢复
- 发布订阅功能,可以将消息分发给多个客户端,多用于广播系统
- 过期key:设定数据过期时间,过期自动销毁
- 事务功能:原子执行的多个操作
- 主从复制
- Sentinel哨兵
Redis远程连接的设置
- 关闭 bind 127.0.0.1 ::1 # 绑定本地
- 将yes改为no protected-mode yes
- 设一下验证密码 requirepass
- 一定要记得,重启服务
Redis的应用场景
- 在服务端和客户端之间,可以方便用户快速读取数据,如果没有数据可以在从服务器拿数据
- 经常访问,需要实时访问的数据,一般都使用redis存放
Redis和Mysql的区别
- 一个是非关系型,一个是关系型模型
Redis设置数据过期的方式
- 1.创建key时候指定ex
- 2.expire key time 这个是秒
- 3.pexpire key time 这个是毫秒
- 4.ttl key 查看过期时间
- 5.persist key 取消过期设置
Redis通用命令
- select 0 选定一个库
- keys * 查看所有的key,可以是组合匹配
- TYPE key 查看key的类型
- exists key 查看key是否存在
- del key 删除key
- rename key newkey 重命名
- getset key value 如果不存在 就赋值
- flushdb 清除当前库的所有数据
- flushall 清除所有库的数据
Redis数据类型
-
字符串数据类型
- key要长度适中,能懂,不啰嗦
- 字符串类型的值,最多能存储512M
- Redis在python中获取的都是字节串
- 在redis中,字符串,数字,都会转为字符串
- 命名规范:层级命名
- name::wangjie ,age::20
- 常用命令:
- set,setnx (有则不更改,无则创建),get,mset,mget,strlen,
- 数字操作:incr,decr,
- ex参数是设置key的有效期
- 扩展命令
- append,在后面追加字符串
- setrange key index value,设置字符串索引位置的值
- getrange key start stop,获取字符串索引位置
- incrby key step,decrby key step 指定步长的增长
-
列表数据类型 List
- 特点:
- 列表分为开头和结尾,开头是left,结尾是right
- 列表中的元素都要是字符串
- 列表可以在开头,结尾删除元素,中间删除效率不高
- 元素可以重复
- 存放元素个数很多 2的32次方-1
- 索引用法跟python差不多
- 方法:
- 插入
- LPUSH / RPUSH key *value,左右插入值,可以插入多个
- 查看,设置元素
- 查看LRANGE key start stop
- 获取LINDEX key value
- 设置LSET key index value
- 获取列表长度 LLEN key
- 弹出元素
- LPOP key 头弹出
- RPOP key 尾弹出
- RPOPLPUSH source destination 一个列表弹出,一个列表接收
- 移除指定元素
- LREM key count value(删除|count|个元素)
- count 是负数,则从right 尾开始
- count 是正数,则从left 头开始
- count 是零,所有都删除
- LTRIM 除指定范围外元素全部删除
- LTRIM key start stop
- LREM key count value(删除|count|个元素)
- 插入元素
- LINSERT
- LINSERT key BEFORE/AFTER value newvalue
- 在一个值的前面或者后面插入元素,如果没有value 则不操作
- LINSERT
- 阻塞弹出(BLPOP|BRPOP)
- 如果有key则弹出,没有则阻塞等待
- BLPOP / BRPOP key timeout
- 插入
- 特点:
-
排序算法复杂度
-
python 切片的注意事项
- 切片就是生成了一个新的列表
- 切片选择的是列表中的地址,也就是浅拷贝,两个列表指向的都是一个地址内的值,改动一个另一个也会变
- 列表2=列表1 ,这样是将列表的地址赋值给列表
- [:1] 这样返回的是一个列表,因为是范围,即使就选择一个元素
-
python restful设计
-
大型项目中,使用restful不需要很深厚的开发功底
-
资源多用
- /user 可以获取所有数据、最好添加分页,一次性返回所有信心,数据量太大
- /user/56 获取指定数据
-
资源的表示
- /users 用名词,而不是动词
- 更常见的是使用复数形式命名 也就是加s
- 更简洁,url数目更少
-
用HTTP方法操作资源
- 使用:GET,PUT,DELETE,POST等等来操作资源
-
可选的,复杂的,使用查询字符串?
- /users?name=joke&age=10
-
使用HTTP状态码
- 1xx,2xx,3xx,4xx,5xx
-
返回有用的错误码
- 错误码有所提示
-
小驼峰命名法
- json中使用小驼峰命名法
- 不要使用下划线_来连接
-
url中可以添加版本号
- 要加版本号,方便以后可以修改
-