Redis是什么

redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。Redis像是一个HashMap,不过不是在JVM中运行,而是以一个独立进程的形式运行。一般说来,会被当作缓存使用。 因为它比数据库(mysql)快,所以常用的数据,可以考虑放在这里,这样就提高了性能。Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

Redis的安装

打开链接下载需要的版本,下载完的压缩包,解压到想要放置的文件夹中。里面会有redis-server.exe和redis-cli.exe,接下来可以简单运行使用一下。

打开windows的命令行窗口win+r,进入刚才redis解压的路径中,启动redis-server.exe

继续重新打开一个命令行窗口,启动redis-cli.exe。

接下来简单验证一下,从客户端向服务端设置Key-Value,并获取值。

Redis的常见命令

链接:http://www.redis.cn/commands.html、https://www.runoob.com/redis/redis-strings.html
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合),不同的数据类型的命令是不同的。

Jedis

Jedis是java访问Redis服务的第三方jar包。在Maven仓库中选择Jedis版本,进行简单测试。

//代码地址:https://www.runoob.com/redis/redis-java.html
import redis.clients.jedis.Jedis;public class RedisJava {public static void main(String[] args) {//连接本地的 Redis 服务Jedis jedis = new Jedis("localhost");// 如果 Redis 服务设置了密码,需要下面这行,没有就不需要// jedis.auth("123456"); System.out.println("连接成功");//查看服务是否运行System.out.println("服务正在运行: "+jedis.ping());}
}

操作字符串

public void testBasicString(){ //-----添加数据---------- jedis.set("name","meepo");//向key-->name中放入了value-->meepo System.out.println(jedis.get("name"));//执行结果:meepo //-----修改数据----------- //1、在原来基础上修改 jedis.append("name","dota");   //很直观,类似map 将dota append到已经有的value之后  //2、直接覆盖原来的数据 jedis.set("name","poofu");  //删除key对应的记录 jedis.del("name");  /*** mset相当于* jedis.set("name","meepo");* jedis.set("dota","poofu");*/ jedis.mset("name","meepo","dota","poofu");
}

操作List

public void testList(){ //移除所有的内容 jedis.del("java framework"); // 第一个是key,第二个是起始位置,第三个是结束位置,jedis.llen获取长度 -1表示取得所有System.out.println(jedis.lrange("java framework",0,-1)); //先向key java framework中存放三条数据 jedis.lpush("java framework","spring"); jedis.lpush("java framework","struts"); jedis.lpush("java framework","hibernate"); //再取出所有数据jedis.lrange是按范围取出, // 第一个是key,第二个是起始位置,第三个是结束位置,jedis.llen获取长度 -1表示取得所有 System.out.println(jedis.lrange("java framework",0,-1));
}

操作Map

public void testMap(){ Map<String,String> user=new HashMap<String,String>(); user.put("name","meepo"); user.put("pwd","password"); jedis.hmset("user",user); //取出user中的name,执行结果:[meepo]-->注意结果是一个泛型的List //第一个参数是存入redis中map对象的key,后面跟的是放入map中的对象的key,后面的key可以跟多个,是可变参数 List<String> rsmap = jedis.hmget("user", "name"); System.out.println(rsmap); //删除map中的某个键值 jedis.hdel("user","pwd"); System.out.println(jedis.hmget("user", "pwd")); //因为删除了,所以返回的是null System.out.println(jedis.hlen("user")); //返回key为user的键中存放的值的个数1 System.out.println(jedis.exists("user"));//是否存在key为user的记录 返回true System.out.println(jedis.hkeys("user"));//返回map对象中的所有key  [pwd, name] System.out.println(jedis.hvals("user"));//返回map对象中的所有value  [meepo, password] Iterator<String> iter=jedis.hkeys("user").iterator(); while (iter.hasNext()){ String key = iter.next(); System.out.println(key+":"+jedis.hmget("user",key)); } }

学习链接:https://how2j.cn?p=186579

Redis学习记录(一)相关推荐

  1. 2023年5月19日Redis学习记录(笔记md文档非本人亲自编写,仅作为个人学习记录,无其他目的)

    Redis快速入门 Redis的常见命令和客户端使用 1.初识Redis Redis是一种键值型的NoSql数据库,这里有两个关键字: 键值型 NoSql 其中键值型,是指Redis中存储的数据都是以 ...

  2. 狂神Redis学习记录 完整版

    [狂神说Java]Redis最新超详细版教程通俗易懂_哔哩哔哩_bilibili笔记资料交流都在我们的平台:www.kuangstudy.com秦疆老师Java全栈系列课程之Redis讲解从Nosql ...

  3. Redis学习记录之Java中的初步使用

    [html] view plain copy  redis下载地址:<span style="font-family: Arial, Helvetica, sans-serif;&qu ...

  4. Redis学习记录之Transaction简析(十九)

    1.简介 MULTI . EXEC . DISCARD 和 WATCH 是 Redis 事务的基础. 事务可以一次执行多个命令, 并且带有以下两个重要的保证: 事务是一个单独的隔离操作:事务中的所有命 ...

  5. gRPC学习记录(六)--客户端连接池

    对于客户端来说建立一个channel是昂贵的,因为创建channel需要连接,但是建立一个stub是很简单的,就像创建一个普通对象,因此Channel就需要复用,也就是说需要实现一个连接池应用.本文使 ...

  6. Redis——学习之路三(初识redis config配置)

    我们先看看config 默认情况下系统是怎么配置的.在命令行中输入 config get *(如图) 默认情况下有61配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息. 我们就 ...

  7. Redis学习(含 Springboot 整合 Redis)

    Redis NoSQL (not only sql) 在现代的计算系统上每天网络上都会产生庞大的数据量. 这些数据有很大一部分是由关系数据库管理系统(RDBMS)来处理. 1970年 E.F.Codd ...

  8. springboot @cacheable不起作用_Springboot学习记录13 使用缓存:整合redis

    本学习记录的代码,部分参考自gitee码云的如下工程.这个工程有详尽的Spingboot1.x教程.鸣谢! https://gitee.com/didispace/SpringBoot-Learnin ...

  9. Redis的学习记录

    Redis的学习记录 1.先导了解 1.1 NOSQL概述 1.1.1 为什么要用NoSql? 1.1.2 NoSql了解 1.1.3 NoSql特点 1.1.4 NoSQL的四大分类 2. Redi ...

最新文章

  1. 前沿 | DeepMind改进超参数优化:遗传算法效果超越贝叶斯
  2. 简单介绍Python中异常处理用法
  3. go打造以太坊合约测试框架
  4. windows守护进程脚本
  5. 关于现代房地产很形象的一个比喻
  6. 删除排序数组中的重复数字 II
  7. 游戏数仓分析(一)数据准备阶段
  8. spring cloud + nacos + feign调用
  9. 中国大学MOOC-数据结构基础习题集、06-3、公路村村通
  10. Oracle 11g R2 ADG 运维
  11. 继裁员15%后 滴滴宣布本月25日开始减少员工福利
  12. 传统进销存软件上云势在必行
  13. web网页添加天气插件(心知天气)
  14. 1024程序员节来喽
  15. 三重邪骨手机版怎么登录服务器未响应,三重邪骨手机版-三重邪骨模拟器预约v1.0-k73游戏之家...
  16. angularjs 获取复选框的值_基于uFUN开发板的心率计(一)DMA方式获取传感器数据
  17. 干货丨浅谈足式机器人的运动控制
  18. 西安石油大学本科毕业论文答辩PPT模板
  19. 《本草纲目拾遗》清代医学家赵学敏编著
  20. vue项目关闭eslint检查,vue关闭代码格式校验

热门文章

  1. JUC编程java多线程并发详细总结
  2. 标准光照模型-半兰伯特模型
  3. Excel中的小技巧amp;大智慧
  4. 关于日文系统的安装[转]
  5. python 斗图图片爬虫
  6. thinkphp5范围查询_ThinkPHP实现经纬度范围查询
  7. 18天精读掌握《费曼物理学讲义卷一》 第11天 2019/6/27
  8. 原来linux自带编译器啊!!!
  9. 进销存系统_用户信息更新密码修改(3)
  10. networkx 画图中文方块