最开始听到NoSQL这个概念时,我大吃一惊啊(不是sql,那是个什么东东?),赶紧去了解一下,结果才发现并不是我理解的不是SQL,而是NOT ONLY SQL(不仅仅是sql,泛指非关系型的数据库),汗颜啊,以后再也不能望文生义了。。
很多项目上都用到Redis,那么Redis到底是何方神圣呢,今天就做个简单的探寻吧!
- 首先Redis是一个完全开源、免费的数据库;
- 它和传统的关系型数据库(mysql、oracle)不同,采用key -value的形式保存数据;
- 它是一个高性能的数据库。
开源免费没什么好说的,那么何为key -value呢?就是一个键值对应一个实际的值,当然了Redis还提供了list、set、zset、hash等数据形式,并不仅限于单一的String。
那么Redis适用于那些场景呢? - 数据模型比较简单;
- 对于给定key值,能容易的找到相对应的value;
对数据库性能要求较高。
那么开始我的Redis学习吧!
Redis安装:
首先,下载Redis,下载地址:https://github.com/MSOpenTech/redis/releases
然后打开cmd命令窗口,使用cd命令切换到Redis的路径,执行redis-server.exe redis.windows.conf,最后另开一个cmd命令窗口,切换到Redis目录下,执行 redis-cli.exe -h 127.0.0.1 -p 6379,用ping指令查看服务是否启动(当显示pong时为启动)。
Java操作Redis:
首先得导入相应的jar包(java的相关配置就不说了):jedis-2.9.0.jar 下载地址://static.runoob.com/download/jedis-2.9.0.jar
然后进行相关操作:
package com.test;
import java.util.List;
import java.util.Set;
//导入相应的jar包
import redis.clients.jedis.Jedis;
public class RedisTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
//建立连接
Jedis jedis=new Jedis("localhost");
//查看服务是否运行
System.out.println("服务是否运行:"+jedis.ping());
//使用字符串保存数据:
//设置key值
jedis.set("java", "java");
//取出key值
System.out.println(jedis.get("java"));
//使用list保存数据:
jedis.lpush("programLanguage", "java");
jedis.lpush("programLanguage", "c");
jedis.lpush("programLanguage", "php");
//使用lrange(keyName,start,end)来取出List中的值
List<String>sql=jedis.lrange("programLanguage", 0, 10);
System.out.println(sql);
//使用set存储数据(set是无序且不可重复的,和java中的set具有相同的特性):
//使用sadd(keyName,member)来添加数据
jedis.sadd("newSet","s");
jedis.sadd("newSet", "e");
jedis.sadd("newSet","t");
jedis.sadd("newSet", "e");
Set<String>set=jedis.smembers("newSet");
System.out.println(set);
}
}
接下来就是Redis的一些高级应用的学习了,加油!