Redis 基础入门

NoSQL

NoSQL(Not Only SQL),意思是“不仅仅是 SQL”,是一项全新的数据库理念,泛指非关系型数据库。

为什么需要 NoSQL

随着互联网 web2.0 网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速。而传统的关系数据库在应对 web2.0 网站,特别在超大规模和高并发的 SNS 类型的 web2.0 纯动态网站已经显得力不从心,暴露了很多难以克服得问题,例如:

  • High performance 对数据库高并发读写得需求。
  • Huge Storage 对海量数据得高效率存储和访问得需求
  • High Scalability && High Availability 对数据库得高可扩展性和高可用性得需求。

作为过来人,我知道这些语句不容易理解,一两句很难解释清楚,想了解得详细点,自行百度学习吧!

NoSQL 特点

在大数据存取上具备关系型数据库无法比拟的性能优势,例如:
在这里插入图片描述
所以,NoSQL 的非关系特性使其成为了后 Web2.0 时代的宠儿,助力大型 Web2.0 网站的再次起飞,是一项全新的数据库革命性运动。

主流 NoSQL 产品

主流 NoSQL 产品有很多,就不一一列出来了,这里我们只学习 Redis.

Redis

Redis 是用 C语言开发的一个开源的高性能键值对 (key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前位置 Redis 支持的键值数据类型有 5 种:

1. 字符串类型--String
2. 散列类型--Hash
3. 列表类型--List
4. 集合类型--Set
5. 有序集合类型--SortedSet

至于 Redis 的安装和使用,我大致的列一下步骤:

1. 安装 redis 编译的 c 环境,根目录执行 yum install gcc-c++

2. 将 redis-2.x.xx.tar.gz 上传到 Linux 系统中 ( redis 自行下载,linux 自行安装 )

3. 解压到 /usr/local 下 ,在 redis-2.x.xx.tar.gz 所在文件夹中
   执行 tar -xvf redis-2.x.xx.tar.gz -C /usr/local

4. 进入 redis-2.x.xx 目录 使用 make 命令编译 redis

5. 在 redis-2.x.xx 目录中 使用 make PREFIX=/usr/local/redis install 
   命令安装 redis-2.x.xx 到 /usr/local/redis 中

7. 拷贝 redis-2.x.xx 中的 redis.conf 到安装目录 redis 中

8. 启动 redis 在bin下执行命令 ./redis-server ./redis.conf

9. 如需远程连接 redis,需配置 redis 端口 6379 在 linux 防火墙中开发
    /sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
    /etc/rc.d/init.d/iptables save

启动后看到如下欢迎页面,但此窗口不能关闭,窗口关闭就认为 redis 也关闭了(类似 Tomcat 通过 bin 下的 startup.bat 的方式)
在这里插入图片描述
解决方案:

可以通过修改配置文配置 redis 后台启动。
将 redis.conf 文件中的 daemonize 从 no 修改成 yes 表示后台启动
保存后重复步骤 8 ,然后在 /bin 下再执行 ./server-cli 即可操作 redis 数据库了。

至于停止 redis 的使用,在 redis-cli 目录下执行 SHUTDOWN 命令即可!

Jedis

Jedis 集成了 redis 的一些命令操作,封装了 redis 的 java 客户端,还提供了连接池管理。

下面我们来简单学习一下,Java 连接 Redis!

准备工作:首先导入下面两个 jar 包。

在这里插入图片描述

获得单一的 Jedis 对象操作数据库
@Test
		//获得单一的jedis对象操作数据库
		public void test1(){
			
			//1、获得连接对象
			Jedis jedis = new Jedis("192.168.64.128", 6379);
			
			//2、获得数据
			String username = jedis.get("username");
			System.out.println(username);
			
			//3、存储
			jedis.set("addr", "深圳1");
			System.out.println(jedis.get("addr"));
		}

ps:如果你之前还没配置 redis 端口 6379 在 linux 防火墙中开发,那么会抛出连接超时异常。
在这里插入图片描述
那应该怎么解决呢?点击这里,写的挺好的!

通过 Jedis 的 pool 获得 Jedis 连接对象
@Test
		public void test2(){
			//0、创建池子的配置对象
			JedisPoolConfig poolConfig = new JedisPoolConfig();
			poolConfig.setMaxIdle(30);//最大闲置个数
			poolConfig.setMinIdle(10);//最小闲置个数
			poolConfig.setMaxTotal(50);//最大连接数
			
			//1、创建一个redis的连接池
			JedisPool pool = new JedisPool(poolConfig, "192.168.64.128", 6379);
			
			//2、从池子中获取redis的连接资源
			Jedis jedis = pool.getResource();
			
			//3、操作数据库
			jedis.set("XXXX","YYYY");
			System.out.println(jedis.get("XXXX"));
			
			//4、关闭资源
			jedis.close();
			pool.close();
			
		}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值