Python数据库2.Redis数据库
2.1 NoSQL简介
NoSQL(Not Only SQL):
No管L指的是非关系型数据库,是对不同于传统的关系型数据库的数据库理系统的统称,NOSQL是web2.0时代海里数据催生的产物。
特点:
-
1.不支持SQL语法:
NoSQL的世界中没有一种通用的语言,每种nosq l数据库都有 自己的语法,以及擅长的业务场景
-
2.读写性能高:
NoSQL数据军都具有非常高的读写性能,尤其在海里数据下, 它的表现非常优秀
-
3.灵活的数据模型:
NOSQL的存储方式十分灵活,存储方式可以是JSON文档、 键值对(Key Value )或者其他方式。
2.2Redis简介 (内存条中)
-
1.Redis:
Redis是由意大利人开发的一款内存高速缓存数据库, 是一个高性能的键值对(key-value)存储数据库。Redis全称为: Remote Dictionary Server(远程数据服务),使用C语言编写并 以内存作为数据存储介质,所以读写数据的效率极高
-
2.Redis特性:
➢Redis支持数据的持久化,可以将内存中的数据保存在磁盘中, 重启的时候可以再次加载进行使用。
➢Redis不仅仅 支持简单的key-value类型的数据,同时还把value 分为list, set, zset, hash等 数据结构存储。
➢因为Redis交换数据快,所以在服务器中常用来存储一些需要频繁调取的数据,提高效率。 不能存储一些重要数据 持久化也是有时间间隔的
2.3 Redis数据模型
redis:
➢redis是key-value的数据结构, 每条数据都是一个键值对
➢键的类型是字符串
➢注意:键不能重复
➢值的类型分为五种
-
➢值的类型分为五种:
String ------> 字符串 Hash ------> 哈希 List ------> 列表 set ------> 集合 Zset ------> 有序集合
-
1.连接redis:
redis-cli
-
2.退出:
exit
-
3.操作服务端:(自动)
service redis start/stop/restart
-
4.切换数据库:
select n
2.4.Redis五大数据类型 (加引号为一个值)
String类型
string 是Rredis最基本的类型,一个key对应一个value.
-
1.设置数据:
set key value
-
2.查看数据:
get key
-
3.追加数据:
append key value
-
4.删除数据:
del key;
全局key操作
对redis的五个数据类型都适用的命令
-
1.查看所有的key:
keys *
-
2.删除键值对:
del key exists key 查看key是否存在
-
3.改名:
rename key new_key
-
4.设置过期时间:
expire key seconds ttl key 查看时间 persist key 删除过期时间
List类型
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 ---- 头部删除数据 lrem key index value ---- 指定删除(中间)
Hash类型(无序)
是一个键值(key= >value)対集合。是string类型的field和value的映射表:
user { name:juhao, age:18 }
user→key(健) name,age→field(域) juhao,18 →value(値)
-
1.添加数据:(存在则修改)
hset key field value hmset key field value field value(多条)
-
2.查看域值:
hget key field hgetall key ---- 查看所有的field和value
-
3.查看所有的value:
hvals key
-
4.查看所有的field:
hkeys key
Set类型(无序)
Set类型为无序的字符集合。元素具有唯一性,不重复
-
1.添加数据:
sadd key member [member …]
-
2.查看数据:
smembers key
-
3.随机删除:
spop key
-
4.指定删除:
srem key member [member …]
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值删除
-
5.查看分数:
zscore key member
-