一、redis概述
微信红包、淘宝、天猫、京东都使用redis
redis是一种nosql 现在比较流行的nosql redis、memcached、mongodb、guava(loadingCache)
redis支持多种数据类型:字符串(strings)、散列(hashes)、 列表(lists)、 集合(sets)、 有序集合(sorted sets)
membercache不支持内存持久化,redis支持两种内存持久化 rdb 全量数据备份 aof 增量备份指令
缓存数据过期机制
概念:key,设计一个小时之后过期,超过一个小时查数据就会查不到
Memcached 在删除失效主键时也是采用的消极方法,即 Memcached 内部也不会监视主键是否失效,而是在通过 Get 访问主键时才会检查其是否已经失效
Redis 定时、定期等多种缓存失效机制,减少内存泄漏
支持的数据类型
Memcached支持单一数据类型,[k,v]
redis支持五种数据类型
二、redis服务搭建和使用
安装wget yum install wget
下载redis安装包 wget http://download.redis.io/releases/redis-4.0.6.tar.gz
解压压缩包 tar -zxvf redis-4.0.6.tar.gz
yum install gcc
跳转到redis解压目录下 cd redis-4.0.6
编译安装 make MALLOC=libc
cd src ./redis-server
使用 ./redis-cli
如果是阿里云需要配置入口规则
还需要修改redis.conf三处
注释掉绑定ip
# bind 127.0.0.1
Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程,设置为no
daemonize no
保护模式,关闭保护模式,否则外部ip无法连接
protected-mode no
设置redis-server密码,启动server的时候制定conf文件
如果是阿里云cetos8还需配置一下防火墙
检查主机防火墙是否开通6379端口
查看防火墙规则
firewall-cmd --list-all
查询端口是否开放
firewall-cmd --query-port=8080/tcp
开放端口
firewall-cmd --permanent --add-port=6379/tcp
移除端口
firewall-cmd --permanent --remove-port=8080/tcp
重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
如果还不行,放大招,关闭防火墙
查看防火墙状态
firewall-cmd --state
启动防火墙
systemctl start firewalld.service
关闭防火墙
systemctl stop firewalld.service
重启防火墙
firewall-cmd --reload
实现效果
三、Java调用实现代码
结论:开发过程中主要是遇到了一些权限性的问题,记录下来分享给大家。