为什么要使用redis?
它是一个高性能的key-value数据库。
特点:
Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
Redis支持数据的备份,即master-slave模式的数据备份。
思考:
1.当用户第一次访问数据库中的数据的时候非常慢,因为他是从硬盘中读取的。
将该数据放入缓存中,下一次访问就可以从缓存中读取。
redis与传统数据库不同,它的数据存储于内存中,存储速度极快。体现redis的高性能。
2.直接操作缓存能够承受的请求远大于操作数据库的请求。所以可以考虑把数据库中的部分数据转移到缓存中去。这样用户请求部分可以直接去缓存取而不必经过数据库。
redis与其他key-value存储不同之处
redis有着更为复杂的结构,并提供操作的原子性。
redis运行在内存中但可以持久化到磁盘。在内存数据库的优点是,磁盘上数据复杂在内存中却很简单。用redis可以做复杂性事情。在磁盘方面是紧凑追加,不需要随机访问。
为什么要用redis做缓存?
缓存分为本地缓存和分布式缓存。如java中的自带的map,guava是实现本地缓存,轻量而快速,随着JVM销毁而结束。
redis或memcached称为分布式缓存,多实例情况下共用一个缓存。缓存具有一致性。
优势:
性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
Redis具有如下功能:
1.内存存储和持久化:redis支持异步将内存中的数据写到硬盘上,在持久化的同时不影响继续服务
2.取最新N个数据的操作,如:可以将最新的10条评论的ID放在Redis的List集合里面
3.数据可以设置过期时间
4.自带发布、订阅消息系统
5.定时器、计数器
CentOS 安装redis
1安装前提
yum -y install gcc gcc-c++ libstdc++-devel
2下载,解压安装
cd /usr/local/src
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
tar -zxvf redis-5.0.7.tar.gz && cd redis-5.0.7 && make //解压文件,切换目录,make编译
make install //安装
3启动之前,做个简单的配置,将安装包下的redis.conf文件修改:
将里面的daemonize no 改成 yes,
4启动
redis-server redis.conf
5.测试
首先我们可以通过redis-cli命令进入到控制台,然后通过ping命令进行连通性测试,如果看到pong,表示连接成功了,如下:
redis-cli
6.关闭,通过shutdown命令我们可以关闭实例,如下:
shutdown