How To Use Redis

How To Use Redis

简介

在移动互联网时代,我们面对的是更多的客户端,更低的请求延迟,这当然需要对数据做大量的 Cache 以提高读写速度。

目前业界使用得最多的 Cache 系统主要是 memcached 和 redis。 这两个 Cache 系统都有都有很大的用户群,可以说是比较成熟的解决方案,也是很多系统当前的选择。

什么是Redis

Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案。

通常而言目前的数据库分类有几种,包括 SQL/NSQL,,关系数据库,键值数据库等等 等,Redis本质上也是一种键值数据库的,但它在保持键值数据库简单快捷特点的同时,又吸收了部分关系数据库的优点。

从而使它的位置处于关系数据库和键值数据库之间。

Redis不仅能保存Strings类型的数据,还能保存Lists类型(有序)和Sets类型(无序)的数据,而且还能完成排序(SORT) 等高级功能,在实现INCR,SETNX等功能的时候,保证了其操作的原子性,除此以外,还支持主从复制等功能。

Redis特点

Redis数据库完全在内存中,使用磁盘仅用于持久性。

相比许多键值数据存储,Redis拥有一套较为丰富的数据类型。

Redis可以将数据复制到任意数量的从服务器。

Redis优势

异常快速:Redis的速度非常快,每秒能执行约11万集合,每秒约81000+条记录。

支持丰富的数据类型:Redis支持最大多数开发人员已经知道像列表,集合,有序集合,散列数据类型。这使得它非常容易解决各种各样的问题,因为我们知道哪些问题是可以处理通过它的数据类型更好。

操作都是原子性:所有Redis操作是原子的,这保证了如果两个客户端同时访问的Redis服务器将获得更新后的值。

多功能实用工具:Redis是一个多实用的工具,可以在多个用例如缓存,消息,队列使用(Redis原生支持发布/订阅),任何短暂的数据,应用程序,如Web应用程序会话,网页命中计数等。

Redis缺点

由于是内存数据库,所以,单台机器,存储的数据量,跟机器本身的内存大小。

虽然redis本身有key过期策略,但是还是需要提前预估和节约内存。如果内存增长过快,需要定期删除数据。

Redis使用

  1. 数据缓存
  2. Session缓存 跟Shiro整合Sessoion共享

Redis服务器安装配置

Linux

安装:

1
2
3
4
5
6
7
8
9
10
$ wget http://download.redis.io/releases/redis-3.2.5.tar.gz
$ tar xzf redis-3.2.5.tar.gz
$ cd redis-3.2.5
$ make

有是make会报错

yum install -y gcc g++ gcc-c++ make

make MALLOC=libc
1
System.out.println()

配置 :

daemonize no => yes

bind 127.0.0.1 => IP地址

Redis服务器信息

IP:192.168.1.96
PORT:6379
Password:redisinpt123

Redis 位置: /usr/redis/

Redis conf /usr/redis/redis.conf

启动Redis: service redisd start stop restart list

Java中使用Redis

Spring Boot 使用Redis服务缓存方式

Spring Boot 整合Shiro Session共享

参考文献

linux下redis的安装及配置启动

Redis配置参数

Redis可视化客户端

REDIS基础笔记

Spring Boot使用redis做数据缓存 1

Spring Boot使用redis做数据缓存 2

用Redis实现分布式锁 与 实现任务队列

Redis 作者谈使用场景

CentOS 关闭防火墙
CentOS 6:

1) 永久性生效,重启后不会复原

开启: chkconfig iptables on

关闭: chkconfig iptables off

2) 即时生效,重启后复原

开启: service iptables start

关闭: service iptables stop

CentOS 7:

systemctl start firewalld.service#启动firewall

systemctl stop firewalld.service#停止firewall

systemctl disable firewalld.service#禁止firewall开机启动