NoSQL之Redis(二)(java)

我个人第一次听说Redis时,看的是菜鸟教程:http://www.runoob.com/redis/redis-intro.html

后来,养成的习惯是看博客、知乎这些。那么我这里也来小小赘述一下吧:

一、Redis的简介:

Redis(REmote DIctionary Server)是一个局域key-value键值对的开源的持久化数据库存储系统,常用作缓存或消息队列。支持多种数据结构:string(字符串),list(链表)、set(集合)、zset(有序数组)、hash(哈希类型),这些数据类型都支持 push/pop、add/remove 及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。Redis支持各种不同方式的排序。为了保证效率,数据都是缓存在内存中的,它也可以周期性地把更新的数据写入磁盘或者把修改操作写入追加的记录文件。



二、为什么要使用NoSQL

NoSQL是以key-value方式存储(如map、json的样子)的,和传统关系型数据库不一样,不一定遵循传统数据库的一些基本要求,比如说遵循SQL标准(select、delete、update、insert,NoSQl中这些操作语句是没有的)、ACID标准、表结构等。这些数据库主要有以下特点:非关系型的、分布式的、开源的、水平可扩展的。

主要特点有:

1、处理超大量的数据上有很大优势;

(1)对数据高并发读写;

(2)对海量数据的高效率存储和访问;

(3)对数据的高可扩展性和高可用性(数据库系统的升级和扩展方便,NoSQL的分布式非常简单,扩充节点,NoSQL没有固定的表结构(数据结构修改容易))。

2、运行在便宜的PC服务器集群上

3、相对Mysql需要很多性能优化,而NoSQl不需要,因为其性能非常高。

三、Java连接Redis

Redisclient支持多种语言,包括:c、C++、C#、PHP、java、Python、Go等语言,根据自己的开发语言,选择合适的redis
client版本类型即可。针对java语言,redis client也提供了多种客户端支持,按照推荐类型依次是:Jedis、Redisson、JRedis、JDBC-Redis、RJC、redis-protocol、aredis、lettuce。前两种类型是比较推荐的,我们采用了Redisson类型版本作为redisclient的使用。

四、入门尝试阶段

代码如下,只是作为简单的入门:

import org.redisson.Config;
import org.redisson.Redisson;

import java.util.Queue;
import java.util.Set;
import java.util.concurrent.ConcurrentMap;

public class RedisExample {
    /**
     *
     */

    public static void main(String[] args){
        //1.初始化
        Config config = new Config();

        config.setConnectionPoolSize(10);

        config.addAddress("127.0.0.1:6379");

        Redisson redisson = Redisson.create(config);

        System.out.println("redis 连接成功!");

        //测试concurrentMap
        ConcurrentMap<String,Object> map = redisson.getMap("FirstMap1");
        map.put("zhangsan","男");
        map.put("lisi","男");
        map.put("wangwu","女");

        ConcurrentMap resultMap = redisson.getMap("FirstMap1");
        System.out.println("resultMap = " + resultMap.keySet());

        //2、测试集合类
        Set mySet = redisson.getSet("FirstSet1");
        mySet.add("baidu");
        mySet.add("xinlang");
        mySet.add("souhu");
        mySet.add("wangyi");

        Set resultSet = redisson.getSet("FirstSet1");
        System.out.println("resultSet = " + resultSet.size());

        //3、测试Queue队列
        Queue myQueue = redisson.getQueue("FirstQueue1");
        myQueue.add("董贞");
        myQueue.add("王菲");
        myQueue.add("陈奕迅");

        myQueue.peek();
        myQueue.poll();

        Queue resultQueue = redisson.getQueue("FirstQueue1");
        System.out.println("resultQueue = " + resultQueue);

        //关闭连接
        redisson.shutdown();
    }
}

运行,结果如下:

redis 连接成功!
resultMap = [zhangsan, lisi, wangwu]
resultSet = 4
resultQueue = [王菲, 陈奕迅]

Process finished with exit code 0

时间: 2024-10-10 02:10:20

NoSQL之Redis(二)(java)的相关文章

NoSQL之Redis高级实用命令详解--安全和主从复制

Android IOS JavaScript HTML5 CSS jQuery Python PHP NodeJS Java Spring MySQL MongoDB Redis NOSQL Vim C++ C# JSON Ruby Linux Nginx Docker 所有分类  >  数据库相关  >  NoSQL数据库 NoSQL之Redis高级实用命令详解--安全和主从复制 NoSQL Redis   2014-01-09 22:52:47 发布 您的评价:       0.0   收

4. Redis与Java的使用

本文主要讲解java如何操作redis. 使用java连接redis需要引入相应jedis的jar包. java连接单个redis.redis连接池.redis集群(稍后在讲解) //连接单个redis服务器 Jedis jedis= new Jedis("192.168.0.100", 6379); //连接redis线程池 //redis配置对象 JedisPoolConfig config = new JedisPoolConfig(); //可用redis连接实例的最大数目 c

Redis与Java - 数据结构

Redis与Java 标签 : Java与NoSQL Redis(REmote DIctionary Server) is an open source (BSD licensed), in-memory data structure store, used as database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets wit

No-SQL之Redis

No-SQL之Redis 介绍 redis是一种基于内存存储的key-value高性能存储系统,类似memcached,但是redis支持丰富的数据结构类型,并且其还支持数据持久化到磁盘. Redis is a data structure server. It is open-source, networked, in-memory, and stores keys with optional durability. The development of Redis has been spon

No-sql之redis常用命令

转自:http://blog.csdn.net/nicewuranran/article/details/51793760 No-SQL之Redis 介绍 Redis是一种基于内存存储的key-value高性能存储系统,类似memcached,但是redis支持丰富的数据结构类型,并且其还支持数据持久化到磁盘. Redis is a data structure server. It is open-source, networked, in-memory, and stores keys wi

使用Redis和Java进行数据库缓存

使用Redis和Java探索数据库缓存,并查看一些不同的缓存策略.最近在优锐课学习收获颇多,记录下来大家一起进步! 为什么数据库缓存如此重要? 你在数据库中拥有的信息越多,随着时间的推移它将变得越慢. 即使是经过精心设计以支持许多并发请求的数据库管理系统,最终也会达到其极限. 数据库缓存是处理这些性能问题的最常见策略之一.缓存涉及将数据库查询的结果保存在更快,更易于访问的位置.正确完成缓存后,缓存将减少查询响应时间,减少数据库负载并降低成本. 但是,缓存也需要谨慎处理,因为它们实际上是在单独的位

NoSQL之redis概述+部署

一:关系型数据库与非关系型数据库关系型数据库关系型数据库是一个结构化的数据库,创建在关系模型基础上,一般面向于记录他借助于集合代数等数学概念和方法来处理数据库中的数据关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表以及之间的联系组成的一个数据组织现实世界中,各种实体与实体之间的各种联系都可以用关系模型来表示sql语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型数据库的检索和操作常见的关系型数据库:Oracle.MySQL.SQL Server.Microsof

Tedis:淘宝的Redis的Java客户端开发包

http://www.open-open.com/lib/view/open1389880631976.html Tedis Tedis是另一个redis的java客户端 Tedis的目标是打造一个可在生产环境直接使用的高可用Redis解决方案.参见https://github.com/alibaba/tb_tddl Feature 高可用,Tedis使用多写随机读做HA确保redis的高可用 高性能,使用特殊的线程模型,使redis的性能不限制在客户端 多种使用方式,如果你只有一个redis实

20135234马启扬 实验二 Java面向对象程序设计

北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计  班级:1352  姓名:马启扬  学号:20135234 成绩:             指导教师:娄嘉鹏    实验日期:2015.5.7 实验密级:         预习程度:         实验时间:15:50--22:50 仪器组次:34         必修/选修: 选修            实验序号:02 实验名称:实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和T

redis学习 java redis应用

学习redis的总结 :  http://www.runoob.com/redis/redis-tutorial.html     http://www.redis.cn/   一个是菜鸟网站,一个是redis中文网可以进行学习 下面是关于学过redis之后的总结,只是浅显的入门用于对只是的记录 : window :    下载redis  ,,通过cmd 命令行进入 :   执行 redis-server  启动服务端,   然后才能执行redis-cli 启动客户端进行操作   具体的命令可