微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

NoSQL之Redis二java

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

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

一、Redis的简介:

RedisREmote 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支持多种语言,包括cC++C#PHPjavaPythonGo等语言,根据自己的开发语言,选择合适的redis client版本类型即可。针对java语言,redis client也提供了多种客户端支持,按照推荐类型依次是:JedisRedissonJRedisJDBC-RedisRJCredis-protocolaredislettuce。前两种类型是比较推荐的,我们采用了Redisson类型版本作为redisclient的使用。

四、入门尝试阶段

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

importorg.redisson.Config;
importorg.redisson.Redisson;

importjava.util.Queue;
importjava.util.Set;
importjava.util.concurrent.ConcurrentMap;

publicclassRedisExample{
/**
*
*/

publicstaticvoidmain(String[]args){
//1.初始化
Configconfig=newConfig();

config.setConnectionPoolSize(10);

config.addAddress("127.0.0.1:6379");

Redissonredisson=Redisson.create(config);

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

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

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

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

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


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

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

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

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


运行,结果如下:

redis 连接成功!resultMap = [zhangsan,lisi,wangwu]resultSet = 4resultQueue = [王菲,陈奕迅]Process finished with exit code 0

原文地址:https://www.jb51.cc/nosql/203447.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐