key-value键值型数据库:Redis

redis

Redis是in-memory型(内存型)的键值数据库,数据在磁盘上是持久的,键类型是字符串,值类型是字符串、字符串集合(Set)、sorted set、字符串列表(List)、哈希(Hash)等。 其中,Hash类型是一种字符串为键、字符串为值的键值对集合,类似键值类型都为字符串的Map。

使用场景:

  • 数据可全部放入内存
  • 频繁访问数据

redis-server使用snapshot(快照)机制进行数据持久化,这种机制是不时地遍历in-memory数据库,把键值写入文件系统,redis-server默认写入当前目录下的dump.rdb文件。除了snapshot,redis-server还支持AOF持久化机制,AOF(append only file),采用记录对数据库操作的记录来实现持久化,只要重新执行记录的命令,就可以还原出整个数据库。

安装

Redis下载页面,选择对应操作系统的版本,这里选择3.2.8稳定版,下载到本地的文件名是redis-3.2.8.tar.gz,解压文件,生成目录redis-3.2.8,进入目录编译安装:

tar -xzvf redis-3.2.8.tar.gz #解压
cd redis-3.2.8
make #编译
sudo make install #安装
redis-server #启动redis服务

操作

提供命令行操作,$ redis-cli打开redis客户端命令行,redis中文网有对支持命令的描述文档。java api中的方法名称和意义大同redis客户端shell中的命令。

Java api简单访问过程示例:

val jedis = new redis.clients.jedis.Jedis("localhost")
jedis.set("key","value"); jedis.get("key");
jedis.lpush("key","value1","more..."); //列表左边(头部)插入
jedis.rpush("key","value1","more..."); // 列表右边插入
jedis.lrange("key",startIndex,endIndex); //从列表取出一定范围的元素,支持负数索引

key-value键值型数据库:Redis的更多相关文章

  1. 7.Redis键值对数据库

    1.Redis的安装以及客户端连接 安装:apt-get install redis-server 卸载:apt-get purge --auto-remove redis-server 启动:red ...

  2. redis学习 (key)键,Python操作redis 键 (二)

    # -*- coding: utf-8 -*- import redis #这个redis 连接不能用,请根据自己的需要修改 r =redis.Redis(host=") 1. delete ...

  3. 数据库系统概论(新技术篇)--中国人民大学【第13讲】KEY-VALUE数据库(键值对数据库)

    市面上主流的分布式文件系统(FS): (Hadoop的)HDFS,(Google的)GFS     详见ppt   1.数据服务与键值对数据库: 数据服务:data serving数据服务:数据的简单 ...

  4. OAF_OAF控件系列10 - Key Flexfield键值弹性域的实现(案例)

    2014-06-17 Created By BaoXinjian

  5. docker——Etcd高可用键值对数据库

    一.简介 Etcd按照官方介绍: Etcd is a distributed, consistent key-value store for shared configuration and serv ...

  6. 【Spark】RDD操作具体解释3——键值型Transformation算子

    Transformation处理的数据为Key-Value形式的算子大致能够分为:输入分区与输出分区一对一.聚集.连接操作. 输入分区与输出分区一对一 mapValues mapValues:针对(K ...

  7. zabbix 通过key(键值)获取信息

    在agent端进行修改264行,例如: UserParameter=get.os.type,head -1 /etc/issue 保存重启agent 验证 zabbix_get -s IP -k ge ...

  8. Redis源码解析:09redis数据库实现(键值对操作、键超时功能、键空间通知)

    本章对Redis服务器的数据库实现进行介绍,说明Redis数据库相关操作的实现,包括数据库中键值对的添加.删除.查看.更新等操作的实现:客户端切换数据库的实现:键超时相关功能的实现.键空间事件通知等. ...

  9. JavaWeb笔记(十)非关系型数据库Redis

    Redis Redis是一款高性能的NOSQL系列的非关系型数据库 主流的NOSQL产品 键值(Key-Value)存储数据库 相关产品: Tokyo Cabinet/Tyrant.Redis.Vol ...

随机推荐

  1. 【c++】【转】c++中的explicit关键字

    http://www.cnblogs.com/chio/archive/2007/09/17/895263.html c++中的explicit关键字用来修饰类的构造函数,表明该构造函数是显式(调用) ...

  2. Django学习系列之模板

    什么是django模板 模板是一个文本,用于分离文档的表现形式和内容,模板定义了占位符以及各种用于规范文档该如何显示的各部分基本逻辑(模板标签) 模板通常用于产生HTML 如何使用模板 创建一个Tem ...

  3. 【树形dp小练】HDU1520 HDU2196 HDU1561 HDU3534

    [树形dp]就是在树上做的一些dp之类的递推,由于一般须要递归处理.因此平庸情况的处理可能须要理清思路.昨晚開始切了4题,作为入门训练.题目都很easy.可是似乎做起来都还口以- hdu1520 An ...

  4. 安装eclipse中html/jsp/xml editor插件以及改动html页面的字体

    近期在做android项目,用到了jquery mobile 框架以及phonegap,所以就会涉及一些html文件,可是html文件打开的方式是Text Editor ,而且打开之后一些html代码 ...

  5. 在JAR中打包使用JAR库

    不知大家在写Java程序的时候有没有这种需求: 将引用其他第三方JAR库的项目打包成一个JAR文件执行.也就是说在你打包好的JAR文件里再包括那些你引用的第三方JAR文件,合成一个JAR包,这样仅仅需 ...

  6. 2015 Multi-University Training Contest 4 1001 Olympiad

    代码: #include<cstdio> #include<cstring> #include<set> using namespace std; int vis[ ...

  7. [git push] rejecteded 问题的解决方法

    错误信息: hint: Updates were rejected because a pushed branch tip is behind its remote hint: counterpart ...

  8. 修改数据表的字符集为utf8mb4

    修改数据表的字符集为utf8mb4

  9. 内容原发网站seo不重视2个标签,导致seo效果不如转发网站

    采集数据,挖掘观点,小心求证,得出结论 时间经过 今日凌晨,爬虫热点采集,其中第一财经是目标站之一,采集到了 http://www.yicai.com/news/5391233.html 谷歌去年悄然 ...

  10. LAMP安装问题【已解决】

    1.编译不通过提示cannot find mysql header files under /usr/local/mysql解决办法:修改./configuer  --with-mysql=/usr/ ...