redis入门概述
一、是什么
redis:REmote DIctionary Server(远程字典服务器)。是完全开源免费的,是用C语言编写的,遵守BSD协议,是一个高性能(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSQL数据库之一,也被人们称为数据结构服务器。有以下三个特点:
a.Redis 支持持久化,可以将内存中的数据保持再磁盘中,重启的时候可以进行再次加载使用。
b.Redis 不仅仅支持简单key-value类型数据,同时还支持list、set、zset、hash等数据结构存储。
c.Redis支持数据备份,即master-slave模式的数据备份。
二、能干什么
1、内存存储支持和持久化:redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务。
2、取最新N个数据的操作,如:可以将最新的10条评论的id放到redis的List集合里面。
3、模拟类似于HttpSession这种需要设定过期时间的功能。
4、发布、订阅消息系统。
5、定时器、计数器。
三、怎么玩
1、数据类型、基本操作和配置
2、持久化和复制,RDB/AOF
3、事务的控制
4、复制
5、。。。
四、基础知识
1、单进程:单进程模型来处理客户端的请求。对读写等事件的响应是通过对epoll函数的包装来做到的。Redis的实际处理速度完全依靠主进程的执行效率,Epoll是linux内核为处理大批量文件描述符而作改进的epoll,是linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃情况下系统的cpu利用率。
2、默认16个数据库,类似数组下表从零开始,初始默认使用零号数据库。
3、select 命令切换数据库
4、Dbsize查看当前库的key数量
5、flushdb:清空当前数据库,flushall:清空全部的数据库。
6、统一密码管理,16个库都是同样密码,要么都ok要么一个也连接不上。
7、redis的索引从零开始。
8、默认端口是6379