JAVA 中应用 Redis

redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

redis 与其他key-value 缓存产品有以下三个特点:

1) 支持数据持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

2) redis不仅仅支持简单的key-value类型的数据,同时还提供list set  zset  hash等数据结构的存储。

3) redis支持数据备份,即master-slave模式的数据备份。

redis 优点:

1)性能极高               读的速度是110000次/s    写的速度是81000次/s

2) 丰富的数据类型      redis支持二进制案例的string、  list、  hash、  set、ordered set数据类型操作。

3) 原子                        redis所有操作都是原子性的,要么成功要么失败完全不执行。单个操作是原子性,多个操作也支持事务,即原子性,通过multi和exec指令包起来。

redis通常被称为数据结构服务器,因为值(value)可以是字符串(string) 哈希(map) 列表(list)集合(sets)  有序集合(sorted sets)等类型。

1.启动redis 服务时,出现如下图:

解决方法:

 删除 E: edis 文件夹下的 *.rdb 文件,重启redis容器即可

成功启动redis服务:

客户端命令

以下主要讲Java中使用jedis库操作redis。

一。以下摘自百度百科:

1. 什么是Redis
Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。Redis全称为:Remote Dictionary Server(远程数据服务),该软件使用C语言编写,Redis是一个key-value存储系统,它支持丰富的数据类型,如:string、list、set、zset(sorted set)、hash。
2. Redis特点
Redis以内存作为数据存储介质,所以读写数据的效率极高,远远超过数据库。以设置和获取一个256字节字符串为例,它的读取速度可高达110000次/s,写速度高达81000次/s。
Redis跟memcache不同的是,储存在Redis中的数据是持久化的,断电或重启后,数据也不会丢失。因为Redis的存储分为内存存储、磁盘存储和log文件三部分,重启后,Redis可以从磁盘重新将数据加载到内存中,这些可以通过配置文件对其进行配置,正因为这样,Redis才能实现持久化。
Redis支持主从模式,可以配置集群,这样更利于支撑起大型的项目,这也是Redis的一大亮点。
3. Redis应用场景,它能做什么
众多语言都支持Redis,因为Redis交换数据快,所以在服务器中常用来存储一些需要频繁调取的数据,这样可以大大节省系统直接读取磁盘来获得数据的I/O开销,更重要的是可以极大提升速度。
拿大型网站来举个例子,比如a网站首页一天有100万人访问,其中有一个板块为推荐新闻。要是直接从数据库查询,那么一天就要多消耗100万次数据库请求。上面已经说过,Redis支持丰富的数据类型,所以这完全可以用Redis来完成,将这种热点数据存到Redis(内存)中,要用的时候,直接从内存取,极大的提高了速度和节约了服务器的开销。
总之,Redis的应用是非常广泛的,而且极有价值,真是服务器中的一件利器,所以从现在开始,我们就来一步步学好它。


二 。 jedis是官方推荐的,使用Java操作redis的类库,推荐大家使用maven去构建项目,maven所需的jedis依赖如下:

<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
  其实这个依赖只有3个jar包,jedis-2.9.0.jar,commons-pool-1.6.jar,commons-pool2-2.4.2.jar,后面的两个common的pool包,是配置jedis的连接池用的,如果不想使用连接池,那么只要导入jedis-2.9.0.jar就够了。 

1.java 中  简单的redis连接示例     

左图  为连接代码           右图为  运行结果

               

2.  初始化redis连接池  

此处  是连接池的初始化配置。

从连接池中获取连接的时候,运行报错如下:

解决方式:

主要是由于服务启动的方式  。具体参考以下博文。

http://blog.csdn.net/u010011737/article/details/51149324

http://blog.csdn.net/rchm8519/article/details/48347797

Windows下使用redis requirepass认证不起作用

1.设置密码   

      1)命令行的形式去修改

      2) 修改安装目录下的redis.Windows.conf 配置文件,找到#requirepass footbared   ,去掉注释,变成 requirepass   mypassword

             ps:重启之后,没有起作用,在可会断,输入命令   config get requirepass   会出现

         

2. 创建redis-server.exe的快捷方式,右键快捷方式属性,在目标后面增加 redis.windows.conf    这里很关键,虽然之前我们修改了 .conf文件,但是exe却没有使用这个conf

所以 我们需要手动指定一下 exe  按照修改后的.conf运行。

redis 密码相关 可参考以下博文:

http://blog.csdn.net/lxpbs8851/article/details/8136126

修改成功密码以后  重启  就可用

原文地址:https://www.cnblogs.com/zdj-/p/8652899.html