Redis
一、为什么使用
-
解决应用服务器的cpu和内存压力
-
减少io的读操作,减轻io的压力
-
关系型数据库的扩展性不强,难以改变表结构
二、优点:
-
nosql数据库没有关联关系,数据结构简单,拓展表比较容易
-
nosql读取速度快,对较大数据处理快
三、适用场景:
-
数据高并发的读写
-
海量数据的读写
-
对扩展性要求高的数据
四、不适场景:
-
需要事务支持(非关系型数据库)
-
基于sql结构化查询储存,关系复杂
五、Redis结构:
Redis是一个开源的key—value型数据库,支持string、list、set、zset和hash类型数据。对这些数据的操作都是原子性的,redus为了保证效率会定期持久化数据。
六、使用场景:
-
配合关系型数据库做高速缓存
-
缓存高频次访问的数据,降低数据库io
-
分布式架构,做session共享
-
可以持久化特定数据。
-
利用zset类型可以存储排行榜
-
利用list的自然时间排序存储最新n个数据
七、Linux下redis:
-
redis目录:usr/local/bin
-
linux下redis常用命令:
-
redis-benchmark:性能测试工具
-
redis-server:启动redis服务器
-
redis-cli:启动redis客户端,操作入口
八、Redis基础知识
-
端口:6379
-
默认16个数据库,下标从0开始
-
单线程:redis是单线程+io多路复用:检查文件描述的就绪状态
Memchached:多线程+锁
-
redis数据类型:String set list hash zset
九、Redis命令:
-
key操作
keys * | 查看当前库所有的键 |
exists <key> | 判断是否存在key |
del <key> | 删除某个键 |
expire <key> <second> | 设置键过期时间 单位是s秒 |
ttl <k |