初识redis:学习Java客户端

Redis服务器在官网公开了使用的协议,叫做RESP。任何一个第三方都可以通过上述的协议,来实现出一个和redis服务器通信的客户端程序。

Java生态中,封装好了RESP协议,实现的redis客户端是有很多的,此处使用的是jedis(而且jedis提供的api和redis命令是高度一致的)。

目录

引入依赖

ssh端口转发

jedis通用命令

String类型

mset mget

getrange setrange

append

incr decr

Hash类型

hset  hget

hexists

hdel

hkeys  kvals

hmget  hmset

List类型

lpush rpush lrange 

lpop rpop

blpop

llen

Set类型

sadd  smembers

sismember

scard

spop

sinter

sinterstore

Zset类型

zadd  zrange

zcard

zrem

zscore

zrank


引入依赖

第一步就是在IDEA的xml文件中引入maven中的jedis依赖:

但是需要注意的是:在linux中,我们的linux云服务器把6379端口保护起来了,redis服务器使用的端口就是6379,也就是说我们访问不了在linux上的云服务器。

如果直接把6379端口开放,很容易就被入侵,于是就有了以下的几个办法:

  • 直接让Java程序在linux上运行
  • 配置ssh端口转发,把云服务器的redis端口映射到本地主机

我们重点讲第二种方式,ssh端口转发。

ssh端口转发

配置ssh端口转发,把云服务器的redis端口映射到本地主机,此时客户端的程序访问的127.0.0.1:8888,就相当于是访问linux服务器的6379端口

我们在此只进行简单的配置,后续就把云服务器的端口当成一个本地的端口使用即可。

连接完成以后,在自己电脑中可以使用netstat命令查看本地这里的8888端口有没有工作:


 

jedis通用命令

接下来会介绍一部分命令在代码中的操作,都是比较重要的命令~

在main中,使用Jedis客户端来创建一个连接池(JedisPool),用于连接到Redis服务器。

JedisPool jedisPool = new JedisPool("tcp://127.0.0.1:8888");

String类型

mset mget

 jedis的用法规则,和redis高度统一。此处我们使用List来接收jedis.mget返回的数组。

getrange setrange

append

incr decr

Hash类型

hset  hget

要注意,此处的处理方式是先构造一个Map,把这个Map通过hset的方式存进去。

hexists

此处的hset是直接通过设置key、field、value的方式来添加元素的。

hdel

此处hdel是可以一次性删除多个元素。

HDEL 命令用于删除哈希表中的一个或多个字段(field),而不是直接删除值(value)。当一个字段被删除后,与该字段关联的值(value)也会随之被删除。

hkeys  kvals

一个是获取所有的key,一个是获取所有的value。要注意这个操作十分危险,有可能造成卡顿。

hmget  hmset

由于现在hset可以做到一次设置多个field和value,所以hmset几乎废弃了。

List类型

lpush rpush lrange 

头插、尾插的结果正好相反。

lpop rpop

分别是从头删除和从尾删除,一次删除一个。

blpop

阻塞删除,当一有元素就立马执行删除。

llen

Set类型

sadd  smembers

sismember

scard

获取集合中的元素个数。

spop

不写count参数的时候,随机删除一个元素

sinter

输出交集。

sinterstore

sinterstore是把输出放到额外的一个key中。

Zset类型

Zset是有序集合。

zadd  zrange

zadd的用法比较复杂,添加元素的时候,既要添加元素又要添加分数。

zcard

获取有序集合的元素个数。

zrem

删除指定元素。

"Tuple"(元组)通常指的是一个不可变序列,它可以包含不同类型的元素,并且元素的顺序是固定的。

zscore

查询指定元素的分数。

zrank

查询元素的下标。

不难发现,jedis和redis使用几乎是一样的。这些使用方法都不需要去背,只需要在redis的网站进行查询就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值