Redis安装及实现session共享
一、Redis介绍
1、redis是key-value的存储系统,属于非关系型数据库
2、特点:支持数据持久化,可以让数据在内存中保存到磁盘里(memcached:数据存在内存里,如果服务重启,数据会丢失)
3、支持5种数据类型:string,hash,list,set,zset
4、两种文件格式(即数据持久化)
(1)RDB(全量数据):多长时间/频率,把内存中的数据刷到磁盘中,便于下次读取文件时进行加载
(2)AOF(增量请求):类似mysql的二进制日志,不停地把对数据库的更改语句记录到日志中,下次重启服务,会根据二进制日志把数据重写一次,加载到内存里,实现数据持久化
5、存储
(1)内存存储 (2)磁盘存储(RDB) (3)log文件(AOF)
二、Redis安装
1、下载 redis-2.8.21.tar.gz
2、解压: tar zxvf redis-2.8.21.tar.gz
3、cd redis-2.8.21
4、编译:make
5、安装: make PREFIX=/usr/local/redis install
6、创建配置文件所在的目录:mkdir /usr/local/redis/etc
7、网上下载配置文件 redis.conf,放到 6 创建的目录下
8、创建启动脚本 /etc/init.d/redis
9、添加redis用户:useradd -s /sbin/nologin redis
10、创建var目录,放置redis 的pid,rdb文件: mkdir /usr/local/redis/var
11、修改var目录和配置文件权限
(1)chmod 777 /usr/local/redis/var
(2)chmod 755 /etc/init.d/redis
12、启动redis: service redis start
13、ps aux | grep redis ——》 监听6379端口
三、php应用redis
前提:已经搭建了LAMP网站架构
php不能直接连redis,需要redis模块的支持(redis是和开发语言结合使用的)
说明配置已经生效
3、Redis 存储session 测试
(1)进入apache的htdoc下
(2)创建session.php
<?php
session_start();
if (!isset($_SESSION['TEST'])) {
$_SESSION['TEST'] = time();
}
$_SESSION['TEST3'] = time();
print $_SESSION['TEST'];
print "<br><br>";
print $_SESSION['TEST3'];
print "<br><br>";
print session_id();
?>
(3)测试 ——》 记得去掉redis配置文件中的密码设置,否则会返回500授权错误
(a)curl localhost/session.php

(b)redis-cli ——》 在家目录的.bashrc加入了redis启动目录

说明session已经存入到redis里了
四、redis的一些题外话
redis一些重点
1、主从
2、持久化
3、哨兵实现主从切换
4、sentinel原理 (2.8.0之后有这个功能 sentinel.conf)
5、数据类型: hash,string 用得多
着重讲下哨兵
1、支持redis协议
2、原理简单描述
所有服务器都部署哨兵,哨兵去监控主从,要是redis或者哨兵死了,另外所有的机器会重新投票(就是下图6379后面的数字,比如2),投死那台挂掉的机器(2台机器投票确认机器死了),再在另外所有的机器上自成一个体系,重新生成主

3、重点
(1)哨兵的配置文件也就是sentinel.conf是时时发生变化的
当主被投票死掉后,从起来于是产生一个新的主ip,新主会变成配置文件master的ip
(2)redis的配置文件也会改变
(3)当已死的主恢复后,就变成了从
(4)哨兵一定要是单数,否则选举易出现问题,偶数可能会同票
4、几个问题
(1)什么时候用redis?
Redis安装及实现session共享的更多相关文章
- nginx+tomcat+redis的集群+session共享
nginx+tomcat+redis的集群+session共享 环境准备 1.tomcat版本:tomcat7 tomcat下载及安装,目前很多好的资源和步骤,此处省略. 2.jdk版本:jdk1.7 ...
- net core+Redis+IIS+nginx实现Session共享
.Net Core Web Api实践(二).net core+Redis+IIS+nginx实现Session共享 前言:虽说公司app后端使用的是.net core+Redis+docker+ ...
- nginx+tomcat+redis负载均衡及session共享
概述 本文档是用来详细描述 nginx+tomcat+redis负载均衡实现session共享 所需软件及下载地址 软件名称 下载地址 功能说明 Nginx-v1.6.0 http://nginx.o ...
- Spring Boot(十一)Redis集成从Docker安装到分布式Session共享
一.简介 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API,Redis也是技术领域使用最为广泛的存储中间件,它是 ...
- .Net Core Web Api实践(二).net core+Redis+IIS+nginx实现Session共享
前言:虽说公司app后端使用的是.net core+Redis+docker+k8s部署的,但是微信公众号后端使用的是IIS部署的,虽说公众号并发量不大,但领导还是使用了负载均衡,所以在介绍docke ...
- spring+redis+nginx 实现分布式session共享
1,spring 必须是4.3以上版本的 2,maven配置 添加两个重要的依赖 <dependency> <groupId>org.springframework.sessi ...
- Nginx+Tomat8负载后,利用Redis实现Tomcat8的session共享
网上相应的文章应该都介绍,这里只特别记录下笔者在实操的过程出现的问题.此文件只针对tomcat 8 版本,之前版本可略过. tomcat 8 中的context.xml文件修改,增加以下配置. Jav ...
- redis + Tomcat 8 的session共享解决
如果英文不错的看,建议直接看官网吧,官网写的挺清楚.下面的内容是转载的一篇文章,自己补充了一些,供大家参考,也欢迎大家一起讨论 官方截止到2015-10-12前是不支持Tomcat8的,详情见官网:h ...
- 基于Redis缓存的Session共享(附源码)
基于Redis缓存的Session共享(附源码) 在上一篇文章中我们研究了Redis的安装及一些基本的缓存操作,今天我们就利用Redis缓存实现一个Session共享,基于.NET平台的Seesion ...
随机推荐
- beanstalkd 消息队列
概况:Beanstalkd,一个高性能.轻量级的分布式内存队列系统,最初设计的目的是想通过后台异步执行耗时的任务来降低高容量Web应用系统的页面访问延迟,支持过有9.5 million用户的Faceb ...
- Mysql数据库 - 增删改
一. Create 1. 单条插入, sql格式: insert into (列名) values(列值); INSERT INTO test.tch_teacher ( Sex, BId, NO, ...
- coocs2d-x 分辨率
config.lua: CC_DESIGN_RESOLUTION = { width = , height = , autoscale = "FIXED_HEIGHT", call ...
- SimpleDateFormat转换时间格式
SimpleDateFormat有两个常用的方法parse和format 其中SimpleDateFormat在创建时有一下集中格式可以选择 SimpleDateFormat sdf = new Si ...
- Leetcode 16. 3Sum Closest
Given an array S of n integers, find three integers in S such that the sum is closest to a given num ...
- 关于 m4 文本处理引擎
使用 m4 开源项目还是挺多的,之前看到都有的怕怕的,选择自动略过.今天鼓起勇气来学习一波. 首先 m4 processor 是一个“宏定义”处理器,也就是说,他是一个纯粹的文本处理器,干些管理模板, ...
- AngularJS版本下载
大家可以从下面地址获取AngularJS所以版本: https://code.angularjs.org/
- Swift_提醒框
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Menlo; color: #ffffff } p.p2 { margin: 0.0px 0. ...
- float-position的一些细节
一 综述: float position 对于div布局的作用明显, 注意使用的细节也变得有必要了. float position 有相同的地方,都会脱离"文档流"(posi ...
- REDHAT一总复习1 记录systemd日志条目 rsyslogd配置记录日志指令
显示9:05:00 到9:15:00 之间在/home/student/systemdreview.txt 文件中记录所有systemd日志条目 # echo "journalctl --s ...