首页 > 代码库 > redis入门与web管理界面
redis入门与web管理界面
redis之前也用了一段时间,作用大概也类似于:
一:redis作用
1:用户数据缓存,每次http访问与响应,都会产生数据,而这些数据,是否都会走向数据库存表?
不妨来一段实例:电商网购平台,首页每日PV 五千万左右,前端产生日志量每日大于400M,是否能够给登录用户账号、个人中心,订单都存表?
那即使优化tcp-connects、tomcatThreadpools、oracle-connects,分分钟崩盘数据库,即使是RAC4节点数据库。
project:使用redis缓存,这是一种web服务器与数据库之前的缓冲区,用以存储用户数据(后端seesion not 前端cookie),能够减少数据库压力,便于快速返回用户查询数据。
2:做web集群中seesion共享,如若N个tomcat做集群,比如说nginx反向代理到前端做login,当http被load balancer/ Director调度到3th tomcat,可以,但是这个tomcat宕机了,
那其余正常的tomcat是否能返回正确的server ?seesion能都转移到2th tomcat,redis,那前期部署tomcat集群时候,得引用redis关于seesion共享
----------------------
project:这里是redis缓存tomcat的配置,在tomcat/conf/context.xml
<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />
<Manager className="com.radiadesign.catalina.session.RedisSessionManager"
host="172.18.11.162" #这是redis服务器的ip地址
port="6379" #这里是redis的端口
database="0"
maxInactiveInterval="1800" />
</Context>
二:开始一段redis单实例部署,最重要的是基于php做web管理,其实亦可以使用桌面管理工具redis manager desktop,比如运维管理平台,需要集成所有管理界面。
1、下载redis2.8 redis-2.8.6.tar.gz
2、编译安装,不通过configure
make
make install
完成安装过程中提示
it‘s good idea to run ‘make test’
INSTALL install
INSTALL install
INSTALL install
INSTALL install
make test ---报错 You need tcl 8.5 or newer in order to run the Redis test
安装 yum -y install tcl
OK
3、mkdir -p /opt/redis/bin
mkdir -p /opt/redis/etc
mkdir -p /opt/redis/data
mkdir -p /opt/redis/log
cp /opt/redis-2.8.6/redis.conf /opt/redis/etc
cd /opt/redis-2.8.6/src
cp mkreleasdhdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /opt/redis/bin
修改/opt/redis.conf ----必要修改daemonize,其余可不做修改,自行记住即可
daemonize yes 制定redis后台运行
logfile /opt/redis/log/redis.log
dir /opt/redis/data/
4、启动redis
./redis-server ../etc/redis.conf
[root@app redis]# netstat -lntp|grep redis
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 28569/./redis-serve
tcp 0 0 :::6379 :::* LISTEN 28569/./redis-serve
可以看到6379端口已启用,并且服务为redis
[root@app bin]# redis-cli
127.0.0.1:6379>
redis客户端启动。
之后可以使用redis管理工具 RedisDesktopManager 来实现redis缓存的key操作
redis命令
---------查找key值存在--------
127.0.0.1:6379> exists Fm_LogList/192767813
(integer) 1
(6.20s)
---------查看所有的key--------
127.0.0.1:6379> keys
1) "Fm_LogList/192767813"
2) "Fm_LogList/172756561"
3) "Fm_LogList/194292175"
4) "Fm_LogList/191353234"
5) "Fm_LogList/173947365"
6) "Fm_LogList/165289481"
。
。
。
--------------------- expire 设置过期时间 expire key time
127.0.0.1:6379> EXPIRE tutorialname 60
1) (integer) 1
192.168.182.6:0>expire chen 600
1
------------------------------------------
ttl key 查看键的过期时间
127.0.0.1:6379> ttl Fm_80/UserJinbiLogList/194361483
(integer) -1
-1, 如果key没有到期超时
----------del name 删除key name-----
127.0.0.1:6379> del Fm_80/UserJinbiLogList/162896690
(integer) 1
-------------新建一个key,删除一个key-----
127.0.0.1:6379> set job "andrio"
OK
127.0.0.1:6379> EXISTS job
(integer) 1
----------ping PONG返回响应是否连接成功---
127.0.0.1:6379> ping
PONG
----------select 0~15 编号的数据库---------
127.0.0.1:6379[1]> select 15
OK
--------------慎用,以至于不用!!!----------------------.
flushdb 删除当前选择数据库中的所有key
flushall 删除所有数据库中的数据库
------------
select 0 选择到0数据库 redis默认的数据库是0~15一共16个数据库
move confirm 1 将当前数据库中的key移动到其他的数据库中,这里就是把confire这个key从当前数据库中移动到1中
rename key2 key3 重命名key2 为key3
type key2 返回key的数据类型
move confirm 1 将当前数据库中的key移动到其他的数据库中,这里就是把confire这个key从当前数据库中移动到1中
expire confirm 100 设置confirm这个key100秒过期
------------------查看有多少个key-----------------------------
127.0.0.1:6379> DBSIZE
(integer) 1415502
webphp静态文件,需要部署php
PHP搭建:
1、可以分为yum安装与源码安装,但是源码安装存在各种依赖包问题
#安装php依赖软件
yum -y install autoconf automake bzip2-devel freetype-devel gcc-c++ libcurl-devel libgcrypt-devel \
libicu-devel libjpeg-turbo-devel libpng-devel libxml2-devel libxslt-devel ncurses-devel openjpeg-devel \
openjpeg-libs openldap-devel openssl-devel pcre-devel readline-devel zlib-devel
这只是其中一部分,请执行yum, 分外,yum -y install php (强制安装php所依赖的包,可以使用)
2、今天使用的php是源码,php-5.3.0.tar.gz,步骤一也要执行,防止依赖包困扰, http://www.cnblogs.com/lufangtao/archive/2012/12/30/2839679.html
3、进入解压包 ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --enable-fpm
其实系统自带http服务,但是涉及php需要依赖http环境,所以我们下载httpd-2.2.31.tar.gz http://www.cnblogs.com/zhuque/archive/2012/11/03/2763352.html
apache2安装 ./configure --prefix=/usr/local/apache2 以下make 以下 make install继续
返回php安装 configure之后进入编译安装 make 然后 make install,即可
系统再带的http服务占用80端口,必须取消httpd服务自启动。防止与后装的apache2端口冲突
4、配置文件(满足最基本的配置)
编辑 /usr/local/apache2/conf/httpd.conf 文件
找到AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
在后面添加:
AddType application/x-httpd-php .php(使Apcche支持PHP)
AddType application/x-httpd-php-source .php5
找到:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
添加:
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
找到:
#ServerName www.example.com:80
修改为:
ServerName 127.0.0.1:80或者ServerName localhost:80
记得要去掉前面的“#”
5、访问192.168.182.5 页面显示 it work 表示apache2安装成功,访问的页面来自于 /usr/local/apache2/htdocs/index.html
今天是为了能顺利解决php环境,我把phpredisadmin包放进/usr/local/apache2/htdocs
访问http://192.168.182.5/phpredisadmin/index.php 跳转 http://192.168.182.5/phpredisadmin/?overview 。php页面显示正常(如果没有安装php,即使访问php页面,也是代码页,出不来php页面效果)
太棒了,php服务器搭建成功
重点,6、php服务器搭建成功了,解决redis web管理问题 来源于 -------https://my.oschina.net/u/2416477/blog/486481
经过编辑,生成 phpredisadmin 后面redis可以直接使用!!!
下面验证 redis web管理是否有效
打开 http://192.168.182.5/phpredisadmin/index.php
phpRedisAdmin
[I] [E] [I]
Add another key
*
Filter!
type here to filter
Keys (2) ----------------所有的key
chen
wang
--------------------------------look
点击 Add another key 新建叫wang的key,value内容写一串。。。。 刷新,keys确实存在 wang
去服务器 执行 ./redis-cli 启用redis客户端 执行
127.0.0.1:6379> keys *
1) "chen"
2) "wang"
存在叫做wang的key,redis web 可用!!!
###############关于
一:如果说多个redis用于一个项目,可以做redis集群,使用keepalived也可以使用,在php中phpredisadmin配置文件中192.168.182.6改为redis集群VIP即可
二:关于多个项目,完全不在同一业务的redis,怎么破?phpredisadmin给了完整答案
很多源码例如nginx都会提供default.conf用以模板化解决提供,多实例。!!!可以添加,这儿不多说
--楼主也未配置,可以研究下
---------------完成,乱糟糟的草稿纸,OK
redis入门与web管理界面