redis介绍&安装

redis介绍

redis是一个开源的Key-value存储系统。和Memcached类似,但它支持存储的value类型更多,包括string,list,set,zset,hash。与memcached一样,为了保证效率,数据都是缓存在内存中。区别是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,在此基础上实现了master-slave(主从)同步。

redis应用场景

1、配合关系型数据库做高速缓存。

  (1)高频次、热门访问的数据(热点数据)放入缓存中,减少数据库的IO。

  

  (2)分布式架构,做session共享。

    用redis存储用户的session数据,请求经过网关到达后端服务时,都去redis查这个请求的用户的相关数据。(不同于cookie,cookie存在客户端,session存在服务器)

2、拥有持久化存储能力,利用多样的数据结构存储特定的数据。

 

  

 

redis安装

去官网下载redis的tar.gz的包,解压后用make安装(因为redis是用c写的,环境要提前装gcc,c语言编译器。如果忘了装gcc就执行make命令,会安装失败,再次make的话也会报错,要用make distclean之后再make。)make成功之后,执行make install。

redis默认安装目录/usr/local/bin.

安装在指定目录:make install PREFIX=/app/redis

redis安装目录下共有以下几个执行文件:

 

启动redis

在redis安装目录中,执行redis-server启动

在解压后的redis包中,有一个redis.conf的文件,把它拷贝到redis的安装目录中,启动用redis-server /usr/local/bin/redis.conf

修改redis.conf中的daemonize yes,这样才能在后台启动

关闭redis

redis-cli shutdown

redis相关知识

1、redis安装完默认就有16个数据库,类似数组下标从0开始,初始默认使用0号数据库。

  select <dbid> 切换数据库

2、统一密码管理,所有库都是同样的密码

3、redis为什么快?

  (1)数据存储在内存中

  (2)单线程:避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗 CPU,不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗;

  (3)多路IO复用:将每个请求打碎,请求有数据读写的时候才让线程处理,没有数据读写的时候就立即踢出去

 

posted @ 2021-04-16 03:40  jehuzzh  阅读(47)  评论(0编辑  收藏  举报