一.NoSQL介绍
1.什么是NoSQL
NoSQL,not only sql是一种非关系型数据库
2.为什么要使用NoSQL
由于互联网三高问题:高并发,高负载,高可扩展
3.主流的NoSQL产品有如下
Hbase,Redis,Mongo等
4.NoSQL特点
易扩展,高可用,灵活的数据模型等
二.Redis介绍
1.介绍
redis是由c语言开发的非关系型数据库,以key-value形式存储数据,具有5中不同的数据类型分别是
字符串,哈希,列表,集合,有序集合
三.Redis安装与配置
1.安装
上传redis安装文件
解压缩
安装依赖
编译--进入解压目录
安装--PREFIX表示安装到指定路径下
运行--进入安装目录
2.配置在后台进行运行
将解压目录中的redis.conf配置文件拷贝到安装目录的bin目录下
修改配置内容
启动并连接并断开服务
四.Redis的数据类型
1.redis中的key都是字符串类型,且长度在1024字节以内
2.redis的字符串数据类型:字符串大小限制在500M,且以二进制安全模式存储数据
相关命令:set key value,get key,getset key value,del key,incr key,decr key...
3.redis的哈希数据类型:value值是以key value形式存储
相关命令:hset key field value,hget key field,hdel key field,hkeys key,hvalues key,hgetall key...
4.redis的列表数据类型
相关命令:lpush key value,lpop key,lrange start end...
5.redis的集合数据类型
相关命令:sadd key value,srem key value,smembers key...
6.redis的有序集合数据类型
相关命令:zadd key score value,zrem key value...
五.Redis其他常用命令
1.查看所有的key:keys *
2.查看key数据类型:type key
3.设置key失效时间:expire key time
4.查看key的存活时间:ttl key 若为正数表示还有多少时间存活,为-2表示失效,-1表示永久
5.通过ping命令查看是否连接
6.持久化key:persist key
7.删除所有库:flushall
六.Redis其他操作
1.redis的库
redis总共有16的库,默认是0号库通过select n来选择库
将key移入某个库可以通过mv key n来完成
2.订阅
发布:publish 频道名称 内容
订阅:subscribe 频道名称
3.其他
multi:开启批处理
exec:执行批处理
discard:退出批处理
若出现错误错误前面的都会进行执行
4.持久化
rdb:默认,通过快照形式对内容进行存储
aof:需要在redis.conf配置开启,通过日志将所有操作保存
七.使用jedis操作redis
0.注意要开启redis服务端口号码6379
1.导入jar包
2.代码如下
/**
* 测试jedis
*/
@Test
public void testJedis() {
//创建连接对象
Jedis jedis = new Jedis("192.168.25.130", 6379);
//获取字符串类型
String username = jedis.get("username");
System.out.println(username);
//设置字符串类型
jedis.set("address", "北京");
//关闭资源
jedis.close();
}
/**
* 测试jedis连接池
*/
@Test
public void testJedisPool() {
//设置连接池配置
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxIdle(30);
config.setMinIdle(10);
config.setMaxWaitMillis(1000);
//创建连接池对象
JedisPool pool = new JedisPool(config,"192.168.25.130", 6379);
//获取连接
Jedis jedis = pool.getResource();
//获取字符串数据
System.out.println(jedis.get("address"));
//关闭资源
jedis.close();
pool.close();
}
3.结果