Redis入门

    xiaoxiao2022-07-07  188

    什么是Redis

    之前一直听说Redis,但是没有时间去了解,也觉得还没到时候,写了几个springboot的demo后感觉是时候了解一些了,那么Redis到底是什么呢?其实也没有什么高深的东西,官方的回答为:Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 对,Redis就是相当于数据库,但是它与普通的数据库相比,有以下优点: 1.性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。 2.丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。 3.原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。 4.丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

    下载

    这个Redis的下载比较简单,直接下载压缩包,然后解压缩就可以了,所以这里就不说了,下载后的目录大概是这样子: 两个都打开就可以在里面增删改查了。 redis.server的页面长这样: redis.cli的页面长这样: 具体如何再redis里面增删改查这里就不多介绍了,因为我主要是想连接Java进行操作,所以下面就介绍Java连接redis的步骤以及用法:

    Java连接redis

    首先,我这里创建的是maven project,因为这样子可以直接通过在pom.xml文件中倒入包,而不用去下载jar包。 创建完简单的maven project后就是导入jedis的jar包了,这里是最新版本:

    <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.1.0-m1</version> </dependency>

    这是整个项目目录。 RedisJava.java代码:

    package Redis; import redis.clients.jedis.Jedis; public class RedisJava { public static void main(String[] args) { //Connecting to Redis server on localhost Jedis jedis = new Jedis("localhost"); System.out.println("Connection to server sucessfully"); //check whether server is running or not System.out.println("Server is running: "+jedis.ping()); } }

    这个的目的就是测试链接是否成功了,运行后的代码为: 表示连接成功 RedisKeyJava.java代码:

    package Redis; import redis.clients.jedis.Jedis; public class RedisStringJava { public static void main(String[] args) { //Connecting to Redis server on localhost Jedis jedis = new Jedis("localhost"); System.out.println("Connection to server sucessfully"); //set the data in redis string jedis.set("tutorial-name", "Redis tutorial"); // Get the stored data and print it System.out.println("Stored string in redis:: "+ jedis.get("tutorial-name")); } }

    这个程序使用的是redis中的String数据类型,运行的结果为: RedisListJava.java代码:

    package Redis; import java.util.List; import redis.clients.jedis.Jedis; public class RedisListJava { public static void main(String[] args) { //Connecting to Redis server on localhost Jedis jedis = new Jedis("localhost"); System.out.println("Connection to server sucessfully"); //store data in redis list jedis.lpush("tutorial-list", "Redis"); jedis.lpush("tutorial-list", "Mongodb"); jedis.lpush("tutorial-list", "Mysql"); // Get the stored data and print it List<String> list = jedis.lrange("tutorial-list", 0 ,2); for(int i = 0; i<list.size(); i++) { System.out.println("Stored string in redis:: "+list.get(i)); } } }

    这个代码用的是List的数据结构,运行结果为: RedisKeyJava.java代码:

    package Redis; import java.util.Iterator; import java.util.List; import java.util.Set; import redis.clients.jedis.Jedis; public class RedisKeyJava { public static void main(String[] args) { //Connecting to Redis server on localhost Jedis jedis = new Jedis("localhost"); System.out.println("Connection to server sucessfully"); //store data in redis list // Get the stored data and print it Set<String> keys = jedis.keys("*"); Iterator<String> it=keys.iterator() ; while(it.hasNext()){ String key = it.next(); System.out.println(key); } } }

    这个直接取出redis’中存在的key,运行结果为: 这个就是上面例子中创建的key。

    总结

    这几个demo其实比较简答的,作为redis的入门而已,其实redis的优化还有很多的配置,以及还有很多其他的知识,慢慢掌握吧!

    最新回复(0)