redis

来源:互联网 发布:godaddy创建数据库 编辑:程序博客网 时间:2024/05/23 07:24

1 redis介绍

NoSql ---- Not-Only Sql,泛指非关系数据库,可作为关系型数据库的补充解决问题:    高并发读写    海量数据的高效存储和访问    高扩展和高可用redis是一个高性能的键值对数据库

2 支持的数据类型

字符串散列列表集合有序集合

3 应用场景

缓存分布式集群架构中的session分离聊天室的在线好友列表任务队列(秒杀,抢购,12306等)应用排行榜网站访问统计数据过期处理(精确到毫秒)

4 安装

1.gcc    redis是c语言开发的,需要对应的编译工具    yum install gcc-c++2.解压redis-3.0.0.tar.gz    进入目录    编译        make    安装        make install    指定目录安装        make PREFIX=/usr/local/redis install3.配置文件redis.conf    创建一个conf目录,与bin同级    可以修改端口,默认为6379    在源码目录下,复制一份redis.conf到bin目录下

5 bin目录下的文件

redis-server 服务器redis-cli 客户端redis-benchmark 性能测试工具redis-check-aof aof文件修复工具reids-check-dump rdb文件检测工具redis-sentinel 集群管理工具

6 启动

修改redis.conf配置文件,daemonize yes 以后端模式启动执行    ./bin/redis-server ./redis.conf查看    ps aux|grep redis

7 创建多个redis进程

复制两份redis目录将bin和conf拷贝到这个目录之下修改配置文件redis.conf中的端口启动    ./redis_server ./redis.conf查看

8 redis停止

强制停止Redis进程会导致redis持久化数据丢失.应当发送shutdown指令./redis-cli shutdown备注:redis-cli是redis自带的基于命令行的客户端

9 redis连接服务端

指定ip和端口./redis-cli -h 10.10.159.13 -p 6666

10 在客户端中发送最基本的指令

pingset/getdelkeys

11 多数据库

一个redis进程就是一个redis实例,每个实例拥有不同的端口对外提供服务每个实例包括自己的数据库一个实例最多有16个数据库,0~15默认连接第0个可使用select 1进行切换

12 通过jedis连接redis单机

12.1 导包

commons-pooljedis

12.2 单实例连接

Jedis jedis = new Jedis("ip","端口");jedis.set("name","bar");jedis.get("name");jedis.close();

12.3 连接池连接

//创建连接池配置对象JedisPoolConfig config = new JedisPoolConfig();//最大连接数config.setMaxTotal(30);//最大连接空闲数config.setMaxIdle(2);//创建连接池对象JedisPool pool = new JedisPool(config, "192.168.101.3", 6379);//创建连接Jedis jedis = pool.getResource();jedis.close();

12.4 超时解决

需要修改防火墙规则/etc/sysconfig/iptables

12.5 与spring整合

参照12.3进行对象创建就行了,在使用的地方进行注入

13 持久化(把数据从内存中同步到硬盘上)

把内存中的数据同步到硬盘上的过程启动时,会先把硬盘的数据加载到内存中1GB文件大改20~30秒

13.1 RBD持久化

通过快照区完成,符合一定条件时会自动将内存中的数据同步到硬盘中可以在redis.conf中修改配置,可配置多行,为"或"关系save 900 1   (900秒内,至少1条数据被改动,进行保存)save 300 10save 60 10000

13.2 AOF持久化

默认没有开启,实时持久化,一改马上存可以通过修改appendonly参数开启    appendonly yes

14 主从复制

暂时只是了解概念,之后再整理
0 0
原创粉丝点击