# 一、非关系型数据库 NoSQL 简介
# 是对不同于穿透的关系型数据库的数据库管理系统的统称,NoSQL是web2.0时代的海量数据催生的产物。
# 优点:
# 1.比关系型数据库快很多。
# 2.支持的数据类型非常的灵活。
# 特点:
# 1. 不支持SQL语法
# 2. 读写性能高
# 3. 灵活的数据模型
# 二、Redis简介
# Redis 特性:
# 1. 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
# 2. 不仅仅支撑简单的key-value类型的数据,同时还把value分为list,set,zset,hash等数据结构储存。
# 3. 因为Redis交换数据快,所以在服务器中常用来存储一些需要频繁调取的数据,提高效率。(即使通信,交易所数据)
# 缺点:存储空间小。(因为是存储在内存中)
# 三、Redis数据模型
#
# Redis的基本使用
# 1.连接:redis-cli
# 2.退出:exit
# 3.操作服务端:service redis start/stop/restart
# 4.切换数据库:select n
# 五大数据类型:
# 1).String类型:
# String是Redis的最基本类型,一个Key对应一个Value。
# 设置数据:set key value
# 查看数据:get key
# 追加数据:append key value
# 删除数据:del key
# 全局key操作:对Redis的五个数据类型都适用的命令。
# 查看所有的key:keys *
# 删除键值对:del key
# 查看key是否存在:exists key
# 重命名:rename key new_key
# 设置过期时间:expire key second
# 查看过期时间:ttl key
# 删除过期时间:persist key
# 2).List类型
# 是一个字符串列表,可以在列表头部或尾部添加/删除数据。在插入数据时,如果该键并不存在,Redis将为该键创建一个。
# 1.添加数据:rpush key value [value…]
# lpush key value [value…] ---- 头部添加数据
# 2.查看数据:lrange key start stop
# lindex key index ---- 查看某个数据
# 3.修改数据:lset key index value
# 4.删除数据:rpop key
# lpop key ---- 头部删除数据
# 3).Hash类型
# 是一个键值(key-value)对的集合。是String类型的field和value的映射表。
# user {name:juhao,age:18}
# user是key(键) name,age是field(域) juhao,18是value(值)
# 1.添加数据:hset key field value
# 2.查看域值:hget key field
#hgetall key ---- 查看所有的field和value
# 3.查看所有的value:hvals key
# 4.查看所有的field:hkeys key
# 5.删除值:hdel key field
# 4).Set类型
# Set类型为无序的字符集合。元素具有唯一性,不重复
# 1.添加数据:sadd key member [member …]
# 2.查看数据:smembers key
# 3.随机删除:spop key
# 4.指定删除:srem key member [member …]
# 5).Sorted Set类型
# 每一个成员都会有一个分数(Score)与之关联。成员是唯一的,但是分数(score)确实可以重复的。
# 1.添加数据: zadd key score member [score2 member2 …]
# 2.查看数据: zrange key start stop
# zrangebyscore key min max -- 通过scores值查看
# 3.删除数据:zrem key member [member …]
# 4.通过索引删除多个数据:zremrangebyrank key min max
# zremrangebyscore key min max -- 通过scores值删除