• 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

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

  • 相关阅读:
    TurtleBot3 安装OpenCR包
    TurtleBot3-树苺派SD卡备份镜像
    TurtleBot3-树莓派开启SSH服务
    ajax 接收json数据的进一步了解
    获取从天气预报接口返回回来的json数据
    创建一个学生表student,默认的表空间为users,字段自定,同时为表的各个字段分别添加合适的约束,然后测试约束的验证状态。
    org.apache.jasper.JasperException: Unable to compile class for JSP: Invalid character constant
    oracle 管理表空间
    !!!myeclipse 上加载本地图片问题,无法加载问题
    js 关闭页面(Scripts may close only the windows that were opened by it.)
  • 原文地址:https://www.cnblogs.com/zdj-/p/8652899.html
Copyright © 2020-2023  润新知