一、NoSQL简介
- NoSQL(not only sql):泛指非关系型数据库
- 不支持 SQL 语法
- NoSQL中存储的数据都是 key-value 形式
- NoSQL没有一种通用的语言,每种nosql数据库都有自己的api和语法,以及擅长的业务场景
- NoSQL的产品:Redis、MongoDB、Hbase等
二、NoSQL和SQL数据库的比较
- 使用场景不同:sql数据库适用于关系特别复杂的数据查询场景,nosql反之
- sql对事物的支持非常完善,而nosql基本不支持事务。
三、Redis简介
Redis数据库是一个基于内存存储的可持久化的日志型数据库,所以,redis数据库的访问速度极快,因此,redis数据库可以做缓存系统,redis数据库一般用于做分布式的集群,可以提高网站的响应速度,redis数据库的数据存储是用key-value形式存储的。
redis默认端口号是:6379
应用场景:
- 用来做缓存(ehcache/memcached)——redis的所有数据是放在内存中的(内存数据库)
- 可以在某些特定应用场景下替代传统数据库——比如社交类的应用
- 在一些大型系统中,巧妙地实现一些特定的功能:session共享、购物车
四、Redis数据库的优点
- redis数据库是开源免费的
- redis数据库支持多种数据结构,比如:字符串、列表、哈希表、集合(有序集合和无序集合)
- 支持原子操作、支持事务
- 支持发布和订阅
- 支持数据过期功能
- 支持数据备份:即 master-slave 模式的数据备份
- 对数据有高可用性和可扩展性
五、Redis 和 Memcached 数据库的区别?
- redis 和 memcached 都是基于内存存储的数据库。
- redis 数据库可以用来存储数据,memcached用来做缓存。
- 对于 redis 数据库来说,存储的数据结构有多种,但是对于memcached数据库来说,存储的内容只能是字符串类型。
- memcached数据库和 redis数据库相比,延迟要低一些。
六、Redis的安装和启动(Windows)
1、安装
- 下载 redis 安装包解压
- 将安装目录添加到环境变量中就可以在任意地方启动redis了
2、启动数据库服务
- 窗口1:redis-server redis.windows.conf
- 窗口2:redis-cli
redis-server: redis服务器
redis-cli: redis命令行客户端
redis-benchmark: redis性能测试工具
redis-check-aof: AOF文件修复工具
redis-check-rdb: RDB文件检索工具
七、Redis数据库操作
redis数据库默认有16个数据库【0-15】,默认进入的是0库。
- select 数据库名 :切换数据库。
- keys * :查看所有的键。
- exists 键:检测键是否存在。
- expire 键 秒数:设置过期时间。
- ttl 键:查看key的存活时间。
- persist 键:移除过期时间。
- del 键:指定键进行删除。返回值代表删除的个数。
- flushdb:清空当前数据库中的所有内容。
- flushall:清空所有数据库的所有内容。
八、数据结构
- redis是key-value的数据结构,每条数据都是⼀个键值对
- 键的类型是字符串(
键不能重复
) - 值的类型分为五种:
字符串 – string
哈希 – hash
列表 – list
集合 – set
有序集合 – zset