您的位置:首页 > 汽车 > 时评 > html编辑器在哪_免费制作宣传册的app_网站搭建详细教程_百度商家平台客服电话

html编辑器在哪_免费制作宣传册的app_网站搭建详细教程_百度商家平台客服电话

2024/11/17 21:41:47 来源:https://blog.csdn.net/2203_75565612/article/details/142460250  浏览:    关键词:html编辑器在哪_免费制作宣传册的app_网站搭建详细教程_百度商家平台客服电话
html编辑器在哪_免费制作宣传册的app_网站搭建详细教程_百度商家平台客服电话

目录

Jedis

1.jedis是什么

2.jedis的安装配置

3.jedis的基础命令操作展示

1.set和get操作:

2.exists和del操作:

 3.keys和type操作:

4. expire和ttl:


Jedis

        Java 操作 redis 的客⼾端有很多,其中最知名的是 jedis。把下面代码拷贝到Maven项目的pom.xml文件中就可以引入jedis的依赖了。
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.3.2</version>
</dependency>

1.jedis是什么

       Java操作MySQL的方式我们经常使用JDBC或者Mybatis,同样redis除了命令行操作的方式之外也提供了一组api,可以供我们实现定制化的redis客户端程序,进一步操作redis服务器。jedis就是大佬们基于这套api写出来的供Java操作redis服务器的一个开源库,我们可以使用这个库中封装好的方法来在IDEA中实现对redis服务器的操作。

为什么Redis我们可以定制化实现客户端程序,像我们经常使用的QQ,王者荣耀之类的程序不能定制化客户端呢?

        这是因为redis是一种客户端-服务器结构的程序,客户端和服务器之间的访问是通过网络通信,网络通信的过程中,会用到很多的协议,这些协议可以分为应用层,传输层,网络层,数据链路层,物理层五种,靠下层的四种协议一般都是在系统内核或者驱动程序中实现的,我们在设计应用的过程中只能选择不能修改,但是像应用层的协议,更多的时候,程序的设计者们会自定义协议的内容,Redis此处就是使用自定义的应用层协议,传输层选择的TCP协议。之所以客户端和服务器之间能够使用网络通信,是因为开发客户端的人和开发服务器的人都知道协议的细节,能够很好的实现对通信内容的包装和解析。Redis自定义的应用层协议叫做RESP,可以在Redis官方文档查询到,正是因为Redis把自定义的应用层协议公开了出来,我们才能实现自定义的实现与服务器通信的Redis客户端。

2.jedis的安装配置

0.准备工作,启动云服务器上的redis程序,并利用ssh端口转发将端口映射到主机。在xshell中右键会话属性,选择SSH中的隧道功能,如下图所示:当ssh与服务器连接生效时。本机的8888端口便可以生效了。

可以在本地主机上敲以下命令观察是否生效。

tips:如果大家购买的带有公网ip的云服务器,尽量不要尝试将防火墙关闭把redis的端口对外开放,因为redis自带的防入侵的安全功能很少,极易被黑客入侵。

1.第一步首先创建一个Maven项目,直接把文章开篇的依赖复制进入pom.xml文件中,并点击右上方的刷新按钮,idea就会自动从Maven的中央仓库拉取jedis的相关代码到本地仓库。

 2.第二步建立与Redis服务器的连接,如下所示

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;public class RedisDemo {public static void main(String[] args) {JedisPool jedisPool=new JedisPool("tcp://127.0.0.1:8888");try(Jedis jedis=jedisPool.getResource()){//从redis连接池中取出一个连接,并自动释放。//此时便可以使用jedis对象中的方法来操作redis服务器了。String pong=jedis.ping();System.out.println(pong);}}
}

然后便可以验证程序了。 

 

3.jedis的基础命令操作展示

1.set和get操作:
        JedisPool jedisPool=new JedisPool("tcp://127.0.0.1:8888");try(Jedis jedis=jedisPool.getResource()){//从redis连接池中取出一个连接,并自动释放。//此时便可以使用jedis对象中的方法来操作redis服务器了。
//            String pong=jedis.ping();
//            System.out.println(pong);testGetSet(jedis);}}private static void testGetSet(Jedis jedis){jedis.flushDB();//清库操作jedis.set("key1","value1");jedis.set("key2","value2");String value1 =jedis.get("key1");System.out.println(value1);String value2=jedis.get("key2");System.out.println(value2);String value3=jedis.get("key3");System.out.println(value3);}

执行上述代码,便可以得到下面结果。 

2.exists和del操作:
    private static  void testExistsAndDel(Jedis jedis){jedis.flushDB();jedis.set("key1","value");jedis.set("key2","value");jedis.set("key3","value");boolean ret = jedis.exists("key1");System.out.println(ret);long n=jedis.del("key1");System.out.println(n);ret=jedis.exists("key1");System.out.println(ret);n=jedis.del("key2","key3");System.out.println(n);ret=jedis.exists("key2");System.out.println(ret);}

 执行上述代码的运行结果:

 3.keys和type操作:
    private static void keysAndType(Jedis jedis){jedis.flushDB();jedis.set("key1", "value");System.out.println(jedis.type("key1"));jedis.lpush("key2", "a", "b", "c");System.out.println(jedis.type("key2"));jedis.hset("key3", "name", "zhangsan");System.out.println(jedis.type("key3"));jedis.sadd("key4", "111", "222", "333");System.out.println(jedis.type("key4"));jedis.zadd("key5", 1, "aaa");System.out.println(jedis.type("key5"));Set<String> keys = jedis.keys("*");System.out.println(keys);keys = jedis.keys("key?");System.out.println(keys);}

执行上述代码: 

4. expire和ttl:
    private static void expireAndTTL(Jedis jedis) throws InterruptedException {jedis.setex("key",60,"value");long ttl=jedis.ttl("key");System.out.println(ttl);Thread.sleep(3000);ttl=jedis.ttl("key");System.out.println(ttl);}

执行上述代码操作: 

❤️😍😍😍😍😍😍😍😍😍😍😍😍😍😍😍😍😍

🍔我是小皮侠,谢谢大家都能看到这里!!

🦚主页已更新Java基础内容,数据结构基础,数据库,算法

🚕未来会更新Java项目,SpringBoot,Redis以及各种Java路线会用到的技术。

🎃求点赞!求收藏!求评论!求关注!

🤷‍♀️谢谢大家!!!!!!!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com