目前笔者是一个数据库小白,据我的学习知道:目前数据库分为两种SQL & NoSQL。
SQL:(Structured Query Language) 数据库,指关系型数据库。主要代表:SQL Server,Oracle,MySQL,PostgreSQL(开源)。
NoSQL:(Not only Sql)泛指非关系型数据库。主要代表:MongoDB,Redis,CouchDB。
这一节主要介绍redis数据库,本机没有安装redis数据库,决定使用虚拟机Ubuntu界面来运行。(虚拟机安装redis就不在此赘述)Redis的全称:Remote Dictionary Server(远程数据服务),使用C语言编写,并以内存作为数据存储介质,所以读写数据的效率极高。
1、redis数据类型
共有以下5中存储类型(待会儿会分别在Ubuntu运行5种数据类型的增删改查):
- String: 字符串
- Hash: 散列
- List: 列表
- Set: 集合
- Sorted Set: 有序集合
2、Redis优势
- Redis是完全开源免费,是一个高性能的key-value数据库。(不要钱,还好用)
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- Redis性能极高,读写速度快。
- Redis运行在内存中但是可以持久到磁盘,在内存中操作起来非常简单,可以做很多内部复杂性很强的事情。
3、Redis命令操作
- 连接redis: redis-cli
- 退出redis:exit
- 操作服务器:service redis start/stop/restart
- 切换数据库:Select n
redis中数据库没有名称,默认有16个数据库,通过0~15来标识。连接redis时,系统会自动默认连接第一个数据库。
4、String类型
string时redis最基本的数据类型,一个key对应一个value。
4.1 设置数据
set key value
4.2 查看数据
get key
4.3 追加数据
append key value
4.4 删除数据
del key
5、List类型
List类型是一个字符串列表,可以在列表头部或尾部添加/删除数据在插入数据时,如果该键并在不存在,Redis将为该键创建一个。
5.1添加数据
# 右侧(尾部)增加
rpush key value[value]
# 左侧(头部)增加
lpush key value[value]
5.2 查看数据
# 查看数据(索引值)
lrange key start stop
# 查看单条数据
lindex key index
5.3 修改数据
lset key index value
5.4 删除数据
# 右侧删除
rpop key
# 左侧删除
lpop key
6、Hash类型
Hash类型是一个键值(key => value)对集合。是string类型的field和value映射表。一一对应额映射关系
6.1、增加数据:
hest key field value
6.2、查看域值
hget key field
# 查看所有的field和value
hgetall key
6.3、查看所有的value
hvals key
6.4 查看所有的field
hkeys key
6.5 获取哈希表中所有值
hvals key
7、set类型
Set类型是string类型无序的字符集合。元素具有唯一性,不重复。Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
7.1、增加数据
sadd key member[member...]
7.2、查看数据
smembers key
7.3 随机删除
spop key
7.4 指定删除
srem key member[member...]
8、Sorted Set
每一个成员都会有一个分数(score)与之关联。成员是唯一的,但是分数(score)可以是重复的。
8.1、 增加数据
zadd key score member[score2 member2...]
8.2、 查看数据
zrange key start stop
# 通过scores值查看
zrangebyscore key min max
8.3、 删除数据
zrem key member[member...]
8.4、 通过索引删除多个数据
zremrangebyrank key min max
# 通过score值删除
zremrangebyscore key min max
这一章节简单的介绍一下redis中5个基本数据类型,以及其简单的操作,目的是为了给下一张pycharm操作Ubuntu中redis做准备。