Nosql介绍
- 非关系性数据库
- 不支持sql语法
- nosql没有通用语言,每种语言都有自己得语法
- sql对事物支持完善,而nosql基本不支持事务
- Nosql有redis,mongodb,hbase hadoop等等。
Redis简介
- redis 是一个开源免费得,遵守BSD协议,是一个高性能得key-value得非关系型数据库。
- redis是nosql技术,通过多中键值类型来适应不同场景下得需求,借助一些高级得接口使用可以胜任,如缓存,队列系统得不用角色。
Redis特性与优势
- redis支持数据得持久化,可以将内存中的数据保存在磁盘中,重启得是时候可以再次加载使用
- redis不仅仅支持简单得key-value类型得数据,同时还提供list,set,zest,string,hash
- reidis支持数据得备份即master-slave模式数据备份
- 性能极高redis能读得速度是110000次/s,写的速度是81000次/s
- 丰富得数据类型redis支持二进制案例得string,lists,hashes,sets即ordered sets数据类型操作
- 原子redis得所有操作都是原子性(要么都成功要么都失败)
- 丰富得特性redis还支持publish/subscribe,通知key过期等
Redis应用场景
用来做缓存,token生成,session共享,分布式锁,自增id,验证码
Redis得安装
官网:www.redis.io.com
pip install redis-server
Redis得数据结构
- redis是key-value得数据结构
- 键得类型是字符串
- 键不允许重复
String类型 储存字符串
保存和获取数据
-
设置键值
set key value
-
设置键值即过期时间
setex key seconds value
-
设置一键多值
mset key1 value1 key2 value2 ....
-
追加值,有该键名称则覆盖
append key value
-
获取一键多值,,若该key不存在则返回null
mget key1 key2 .....
-
获取该键得值在这是值
getset key value
-
将key得value原子性得递增1,如果key不存在则初始值为0,在incr之后为1
incr key
-
将指定得key得vlaue得原子性递减1,若无该键,初始为0,递减后为-1
decr key
Hash类型
hash用于储存对象,对象结构为属性,值类型为string
增删改获数据
- 设置单个属性 field属性
hset key field value
- 设置多个属性
hset key field1 value1 field2 value2.... hmset key field1 value1 field2 value2....
- 获取键名
hkeys key
- 获取属性值
hget key field hmget key field1 field2...
- 获取所有属性
hvals key
- 删除整个hash键及值,使用del命令
- 删除属性,属性对应得值也会被删除
hdel key filed1 field2...
- 获取所有得属性和值
hgetall key
- 判断指定得key中field是否存在
hexists key field
- 获取key所有包含得field得数量
hlen key
List类型
按照插入元素排序
增删获数据
- 在左侧插入元素
lpush key value1 value2...
- 右侧插入数据
rpush key value1 value2...
- 在指定元素得前后插入新得元素
linsert key before或after 现有元素 新元素
- 设置指定索引位置元素得值
lset key index value
- 删除元素
lrem key count value lrem key index value
- 弹出头部和尾部元素
头lpop 尾rpop
Set集合类型
-
无序集合
-
元素具有唯一性,不重复
-
集合没有修改操作
增删获数据 -
添加和获取元素
sadd key member1 member2... smembers key
-
删除指定元素和删除键
删除指定元素 srem key member
-
获取set中成员数量
scard key
Zset有序集合
-
元素具有唯一性不能重复
-
每个元素都会关联一个double类型得socre,表示权重,通过权重从小到大
-
没有修改操作
增删获数据 -
添加和获取数据
zadd key score1 member1 score2 menber2.... zrange key start stop
-
删除数据
zrem key member1 member2...
-
删除权重在5-6之间元素
zremrangebyscore key score
-
查看成员所在集合中得排名
zrank key member
键得所有操作
keys pattern:获取所有与pattern匹配得key
del key1 key2 ... :删除指定key
exists key :判断key是否存在 1存在 0不存在
rename key newkey : 为key重命名
ttl key:获取key所剩超时时间,如果没有返回-1
persist key : 持久化key
缓存详解:https://blog.csdn.net/weixin_42719242/article/details/98780644
数据库理论:https://blog.csdn.net/weixin_42719242/article/details/98215996
来源:https://blog.csdn.net/weixin_42719242/article/details/98942754