欢迎访问昆山宝鼎软件有限公司网站! 设为首页 | 网站地图 | XML | RSS订阅 | 宝鼎邮箱 | 后台管理


新闻资讯

MENU

软件开发知识

Redis与其他key-value存储有什么不同? Re 图纸加密 dis有着更为复杂的数据结构并且提供对他们的原子性

点击: 次  来源:宝鼎软件 时间:2017-10-22

原文出处: 朱小厮

Redis 简介

Redis 是完全开源免费的,遵守BSD协议,是一个高机能的key-value数据库。
Redis 与其他 key – value 缓存产物有以下三个特点:

  • Redis支持数据的耐久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载举办利用。
  • Redis不只仅支持简朴的key-value范例的数据,同时还提供list,set,zset,软件开发,hash等数据布局的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。
  • Redis 优势

  • 机能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
  • 富厚的数据范例 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据范例操纵。
  • 原子 – Redis的所有操纵都是原子性的,同时Redis还支持对几个操纵全并后的原子性执行。
  • 富厚的特性 – Redis还支持 publish/subscribe, 通知, key 逾期等等特性。
  • Redis与其他key-value存储有什么差异?

  • Redis有着更为巨大的数据布局而且提供对他们的原子性操纵,这是一个差异于其他数据库的进化路径。Redis的数据范例都是基于根基数据布局的同时对措施员透明,无需举办特另外抽象。
  • Redis运行在内存中可是可以耐久化到磁盘,所以在对差异数据集举办高速读写时需要衡量内存,应为数据量不能大于硬件内存。在内存数据库方面的另一个利益是, 对比在磁盘上沟通的巨大的数据布局,在内存中操纵起来很是简朴,这样Redis可以做许多内部巨大性很强的工作。 同时,在磁盘名目方面他们是紧凑的以追加的方法发生的,因为他们并不需要举办随时机见。
  • redis的安装

    下载安装包,博主回收的是redis-3.0.5.tar.gz,劳务派遣管理系统,可以在这里下载.
    安装步调:

    tar -zvxf redis-3.0.5.tar.gz
    cd redis-3.0.5
    make

    redis处事端开启

    ./redis-server

    开启之后如下图所示:

     Redis与其他key-value存储有什么差异? Re 图纸加密 dis有着更为巨大的数据布局而且提供对他们的原子性操纵

    这种方法是启动的redis利用的是默认设置,也可以通过启动参数考古redis利用指定设置文件:

    ./redis-server [redis.conf的路径]

    假如修改redis.conf,回收redis默认的redis.conf文件, redis默认只能通过127.0.0.1:6379这个地点会见,这样就只能在本机上操纵了,假如想要长途操纵就不行行了。这里需要修改redis.conf这个设置文件,在设置文件中添加相应的ip地点,这里如果添加ip地点:10.10.195.112,只需在redis.conf这个设置文件中添加:

    bind 10.10.195.112
    bind 127.0.0.1

    这样就可以长途会见redis处事器了(先设置,软件开发,后开启redis处事)。

    redis客户端毗连

    ./redis-cli (当地)
    ./redis-cli -h [host] -p [port] -a [password] (长途处事器)

    Jedis开拓

    利用java开拓redis,博主利用的是jedis,需要引入jedis的jar,可以在这里下载。还需要commons-pool.jar包

     Redis与其他key-value存储有什么差异? Re 图纸加密 dis有着更为巨大的数据布局而且提供对他们的原子性操纵

    毗连

        Jedis jedis = new Jedis("10.10.195.112");
        System.out.println(jedis.ping());

    输出:PONG

    操纵字符串

            jedis.set("name", "zzh");
            System.out.println(jedis.get("name"));

    输出:zzh

    操纵列表

            jedis.lpush("nblist", "jj");
            jedis.lpush("nblist", "jj");
            jedis.lpush("nblist", "yy");
            jedis.lpush("nblist", "qq");
            List<String> list = jedis.lrange("nblist", 0, -1);
            int length = list.size();
            for(int i=0;i<length;i++)
            {
                System.out.println(list.get(i));
            }

    输出:

    qq
    yy
    jj
    jj

    获取redis中所有的键

        Set<String> set = jedis.keys("*");
        for(String key : set)
        {
            System.out.println(key);
        }

    输出:

    nam
    name
    tutorial
    list
    tutorial-list
    nblist
    tutoriallist
    keyname
    user
    listt
    zsetkey
    hash-key

    Redis常用呼吁

    1 毗连操纵呼吁

  • quit:封锁毗连(connection)
  • auth:简朴暗码认证
  • help cmd: 查察cmd辅佐,譬喻:help quit