Redis初识

目录

1.1 NOSQL

1.2 什么是Redis

二.Redis 的下载与安装

2.1 Redis 的下载

2.2 安装 Redis

2.3 启动 Redis

三.Redis 数据类型(5种常用)

3.1 String

3.2 hash

3.3 List

3.4 Set

3.5 sorted_set

四.Jedis


1.1 NOSQL

NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数 据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并 发的SNS类型,web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据 库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多 重数据种类带来的挑战,尤其是大数据应用难题。

1.2 什么是Redis

概念:Redis (REmote DIctionary Server) 是用 C 语言开发的一个开源的高性能键值对(key-value)数 据库

特征:

  1. 数据间没有必然的关联关系

  2. 内部采用单线程机制进行工作

  3. 高性能,官方提供测试数据,50个并发执行100000 个请求,读的速度是110000 次/s,写的速度是 81000次/s。

  4. 多数据类型支持 字符串类型 string 列表类型 list 散列类型 hash 集合类型 set 有序集合类型 sorted_set

  5. 持久化支持。可以进行数据灾难恢复

二.Redis 的下载与安装

2.1 Redis 的下载

Linux 版 (适用于企业级开发) Redis 高级开始使用 以4.0 版本作为主版本 Windows 版本 (适合零基础学习) Redis 入门使用 以 3.2 版本作为主版本 下载地址:Tags · microsoftarchive/redis · GitHub

2.2 安装 Redis

核心文件:

redis-server.exe 服务器启动命令

redis-cli.exe 命令行客户端

redis.windows.conf redis核心配置文件

redis-benchmark.exe 性能测试工具

redis-check-aof.exe AOF文件修复工具

redis-check-dump.exe RDB文件检查工具(快照持久化文件)

2.3 启动 Redis

服务器启动

方式1:双击redis-server.exe

方式2:指令redis-server.exe redis.windows.conf

三.Redis 数据类型(5种常用)

  1. string String

  2. hash HashMap

  3. list LinkedList

  4. set HashSet

  5. sorted_set TreeSet

3.1 String

  • 存储的数据:单个数据,最简单的数据存储类型,也是最常用的数据存储类型

  • 存储数据的格式:一个存储空间保存一个数据

  • 存储内容:通常使用字符串,如果字符串以整数的形式展示,可以作为数字操作使用

==========================字符串类型 string==========================
添加/修改数据                    
set key value
获取数据                 
get key
删除数据                 
del key
添加/修改多个数据          
mset key1 value1 key2 value2 …(m代表Multiple)
获取多个数据              
mget key1 key2 …
获取数据字符个数(字符串长度)
strlen key
追加信息到原始信息后部(如果原始信息存在就追加,否则新建)
append key value

3.2 hash

hash哈希特点

  • 新的存储需求:对一系列存储的数据进行编组,方便管理,典型应用存储对象信息

  • 需要的存储结构:一个存储空间保存多个键值对数据

  • hash类型:底层使用哈希表结构实现数据存储

hash存储结构优化

  • 如果field数量较少,存储结构优化为类数组结构

  • 如果field数量较多,存储结构使用HashMap结构

==========================hash哈希类型==========================
添加/修改数据
hset key field value
获取数据
hget key field
hgetall key
删除数据
hdel key field1 [field2]
获取哈希表中字段的数量
hlen key
获取哈希表中所有的字段名或字段值
hkeys key
hvals key

3.3 List

  • 数据存储需求:存储多个数据,并对数据进入存储空间的顺序进行区分

  • 需要的存储结构:一个存储空间保存多个数据,且通过数据可以体现进入顺序

  • list类型:保存多个数据,底层使用双向链表存储结构实现

==========================list==========================
添加/修改数据
lpush key value1 [value2] ……
 rpush key value1 [value2] ……
获取数据
lrange key start stop
 lindex key index
 llen key
获取并移除数据
lpop key
 rpop key

3.4 Set

  • 新的存储需求:存储大量的数据,在查询方面提供更高的效率

  • 需要的存储结构:能够保存大量的数据,高效的内部存储机制,便于查询

  • set类型:与hash存储结构完全相同,仅存储键,不存储值(nil),并且值是不允许重复的

==========================Set==========================
添加数据
sadd key member1 [member2]
获取全部数据
smembers key
删除数据
srem key member1 [member2]
获取集合数据总量
scard key
判断集合中是否包含指定数据
sismember key member

3.5 sorted_set

  • 新的存储需求:数据排序有利于数据的有效展示,需要提供一种可以根据自身特征进行排序的方式

  • 需要的存储结构:新的存储模型,可以保存可排序的数据

  • sorted_set类型:在set的存储结构基础上添加可排序字段

==========================sorted_set==========================
添加数据
zadd key score1 member1 [score2 member2]
获取全部数据
zrange key start(开始索引) stop(结束索引) [WITHSCORES]   #[WITHSCORES]可以除了数据还
显示分值
zrevrange key start stop [WITHSCORES]   反转
删除数据
zrem key member [member ...]
获取集合数据总量
zcard key

四.Jedis

我们要使用 Java 来操作 Redis,什么是Jedis 是 Redis 官方推荐的 java连接开发工具! 使用Java 操作 Redis 中间件!

1.导入对应的依赖

<!--导入jedis的包-->
 <dependencies>
 <!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
 	<dependency>
 		<groupId>redis.clients</groupId>
 		<artifactId>jedis</artifactId>
 		<version>3.2.0</version>
 	</dependency>
 </dependencies>

2、编码测试:

import redis.clients.jedis.Jedis;
 public class TestPing {
 	public static void main(String[] args) {
 		// 1、 new Jedis 对象即可
		Jedis jedis = new Jedis("127.0.0.1",6379);
 		// jedis 所有的命令就是我们之前学习的所有指令!所以之前的指令学习很重要!
		System.out.println(jedis.ping());
 	}
}
 

  • 12
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值