0002.Redis复习

一.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.结果

猜你喜欢

转载自blog.csdn.net/NOTBLL/article/details/88914921