什么是redis

  Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。和传统的关系型数据库不一样,不一定遵循传统数据库的一些基本要求(非关系型的、分布式的、开源的。水平可扩展的)。

  优点:
    对数据高并发读写
    对海量数据的高效率存储和访问
    对数据的可扩展性和高可用性
  缺点:
    redis (对事务的处理非常简单)
    无法做到太复杂的关系数据库模型
  Redis是以key-value store 存储,data structure service 数据结构服务器。键可以包含:(string)字符串,哈希,(list)链表,(set)集合,(zset)有序集合。这些数据集合都支持push/pop、add/remove及取交集和并集以及更丰富的操作,redis支持各种不同的方式排序,为了保证效率,数据都是缓存在内存中,它也可以周期性的把更新的数据写入磁盘或者把修改操作写入追加到文件记。

redis的应用场景

  缓存(数据查询、短连接、新闻内容、商品内容等等)。(最常见的应用场景)

  分布式集群架构中的session分离。

  任务队列。(秒杀、抢购、12306等等)

  应用排行榜。

  网站访问统计。

  数据过期处理(可以精确到毫秒)

Redis的安装

  redis是C语言开发, 安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc,安装命令是:yum install gcc-c++

  1、redis下载:http://download.redis.io/releases/redis-3.2.8.tar.gz

  2、将redis-3.2.8.tar.gz拷贝到/home目录下

  3、解压: tar -zxvf redis-3.2.8.tar.gz

  4、进入解压后的目录进行编译

    cd /home/redis-3.2.8

    make

  5、进入到src下进行安装:make install

  6、创建两个文件夹存放redis的命令和配置文件

    mkdir -p /home/redis/bin

    mkdir -p /home/redis/etc

  7、把redis-3.2.8下的redis.conf移动到/home/redis/etc

  8、把redis-3.2.8/src中的mkreleasehdr.sh、redis-benchmark、redis-check-aof、redis-cli、redis-server移动到/home/redis/bin目录下,命令:

mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server  /home/redis/bin

  9、启动时需要指定配置文件:

./bin/redis-server etc/redis.conf

  10、出现下图所示表示redis启动成功

  11、若要将redis改成后台启动,需要修改redis.conf配置文件,将daemonize的值改为yes

通过jedis连接redis单机

  1、依赖的jar包:

    commons-pool2-2.4.2.jar

    jedis-2.9.0.jar

  2、通过创建jedis对象,连接redis服务,代理如下:

    public static void testJedisSingle() {
Jedis jedis = new Jedis("192.168.2.120", 6379);//创建jedis对象
jedis.set("name", "zhangsan");//设置数据
String name = jedis.get("name");//获取数据
System.out.println(name);
jedis.close();//关闭连接
}

  注:外部链接连接redis失败的解决办法。一般情况下出现这种情况是因为防火墙,将防火墙关闭或者将6379端口加到防火墙中。

  3、使用连接池连接redis,代码如下:

    public static void redisPool() {
JedisPoolConfig config = new JedisPoolConfig();
//最大连接数
config.setMaxTotal(30);
//最大连接空闲数
config.setMaxIdle(2); JedisPool pool = new JedisPool(config, "192.168.2.120", 6379);
Jedis jedis = null; try {
jedis = pool.getResource();
jedis.set("name", "lisi");
String name = jedis.get("name");
System.out.println(name);
}catch(Exception ex){
ex.printStackTrace();
}finally{
if(jedis != null){
//关闭连接
jedis.close();
}
}
}

redis介绍、单机安装以及java调用的更多相关文章

  1. Redis介绍以及安装(Linux)

    Redis介绍以及安装(Linux) redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcached类似,但很大程度补偿了memcached的不足,它支持存储的 ...

  2. Redis介绍以及安装(Linux)

    Redis介绍以及安装(Linux) redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcached类似,但很大程度补偿了memcached的不足,它支持存储的 ...

  3. Redis介绍、安装部署、操作

    学习连接:http://www.runoob.com/redis/redis-tutorial.html 一.Redis介绍 Redis是NoSql的一种. NoSql,全名:Not Only Sql ...

  4. ElasticSearch5在Ubuntu系统下的安装和Java调用

    ElasticSearch是开源搜索平台的新成员,实时数据分析的神器.可以理解为作为搜索的数据库,可以提供搜索功能.对比关系型数据库,具有以下的相似关系: 关系型数据库 数据库 表 行 列 Elast ...

  5. redis介绍、安装、redis持久化、redis数据类型

    1.redis介绍  2.安装管网:https://redis.io/下载:wget -c http://download.redis.io/releases/redis-4.0.11.tar.gz解 ...

  6. redis介绍以及安装

    一.redis介绍 redis是一个key-value存储系统.和Memcached类似,它支持存储的values类型相对更多,包括字符串.列表.哈希散列表.集合,有序集合. 这些数据类型都支持pus ...

  7. 1.Redis介绍以及安装

    Redis介绍 Redis是一个开源的(BSD开源协议),内存数据结构存储,被用于作为数据库,缓存和消息代理. Redis支持如下数据结构: string(字符串) hashes(哈希) lists ...

  8. redis介绍和安装(一)

    Redis介绍:redis是一个key-value存储系统. 和Memcached类似,它支持存储的value类型相对更多,包括 string(字符串). list(链表).set(集合).zset( ...

  9. Redis介绍、安装、配置

    NoSQL介绍 NoSQL(NoSQL=Not Only SQL),意为反SQL运动,是一项全新的数据库革命性运动.指的是非关系型数据库,解决了传统的关系型数据库,难以解决的超大规模和高并发的的问题 ...

随机推荐

  1. Python :元组,不可修改的序列

  2. vs2019 scanf 解决 C4996问题

    1. 首先选择项目 2. 然后选择最下面那行的 工程属性, 其后于此处 3. 添加上 :_CRT_SECURE_NO_WARNINGS 最后保存,使用 scanf 读取即无报错了

  3. Apache如何开启Gzip压缩

    https://teddysun.com/326.html 在开启 Gzip 之前,需先确认 Apache 的配置文件中有没有加载 mod_deflate 和 mod_headers 模块. 打开Ap ...

  4. winform学习(7)Label控件、Button控件、TextBox控件

    Label控件是System.Windows.Forms.Label 类提供的控件. 作用:主要用来提供其他控件的描述文字,例如:登录窗体上的用户名.密码(输入框前面的字) Button控件是Syst ...

  5. 浅谈Power Signoff

    Power Analysis是芯片设计实现中极重要的一环,因为它直接关系到芯片的性能和可靠性.Power Analysis 需要Timing Analysis 产生包含频率.transition 等时 ...

  6. vue 无法热替换/热更新

    参考了小伙伴的解决办法: 1.https://blog.csdn.net/win7583362/article/details/65443291 虽然我并不是用对方的方法解决的. 依然还是建议大家打开 ...

  7. python 中模块的版本号

    查看所使用的模块的版本号,以numpy为例 import numpy numpy.__version__ 查看help(numpy)时,信息太多,不想看了,如何退出,按q,即可.

  8. 关于使用ssm与spring时,配置tomcat 虚拟目录( doBase )中的一些坑

    一.使用SSM需要 配置虚拟目录时 tomcat的配置 在tomcat server.xml的<HOST></HOST>中加入以下内容 在配置完成之后,当我们访问URL  为  ...

  9. 【转载】在windows下使用gcc编译jni的简单教程

    转自:http://veikr.com/201207/windows_gcc_jni.html 1.安装MinGW,这个可以为windows提供gcc编译环境. 到http://sourceforge ...

  10. docker互联机制实现便捷互访

    何为容器互联 & 为何需要容器互联 容器的互联是一种让多个容器中应用进行快速交互的方式,它会在源和接收容器之间创建连接关系,接收容器可以通过容器名快速访问到源容器,而不用指定具体的 ip 地址 ...