Redis简单介绍与数据类型
介绍
- 缓存(数据查询、短连接…)
- 任务队列
- 临时数据(数据过期处理,比如说:手机验证码2分钟内有效)
数据类型
一. String 类型
@Test
public void testString(){
JedisPool jedisPool = new JedisPool("192.168.56.128",6379);
Jedis jedis = jedisPool.getResource();
/*设置单个kv*/
jedis.set("1","你好");
System.out.println(jedis.get("1"));
/*设置多个kv*/
jedis.mset("1","你好","2","不好");
System.out.println(jedis.mget("1","2"));
/*删除k*/
System.out.println(jedis.del("1"));
System.out.println(jedis.get("1"));//null
/*字符串递增*/
jedis.incr("num");
System.out.println(jedis.get("num")); //1 2 3 ....
/*递增固定数*/
jedis.incrBy("num2",4);
System.out.println(jedis.get("num2"));//4 8 12 ...
/*字符串递减*/
jedis.decr("num3");
System.out.println(jedis.get("num3"));// -1 -2 -3 ...
/*递减固定数*/
jedis.decrBy("num4",4);
System.out.println(jedis.get("num4"));//-4 -8 ...
}
二、List集合
@Test
public void testList(){
JedisPool jedisPool = new JedisPool("192.168.56.128",6379);
Jedis jedis = jedisPool.getResource();
jedis.flushDB();
/*从左侧增加*/
jedis.lpush("list1","11","22","33");
/*从右侧取*/
System.out.println(jedis.rpop("list1"));// 11 右侧第一个(当前集合顺序[hahaha,gg,haha],取出就没了)
/*从左侧取*/
System.out.println(jedis.lpop("list1"));
/*查看集合 lrange*/
System.out.println(jedis.lrange("list1",0,-1));//[22]添加flushDB(),执行该测试方法多次,集合元素唯一,否则重复
System.out.println(jedis.llen("list1"));
}
三、Set集合
@Test
public void testSet() {
JedisPool jedisPool = new JedisPool("192.168.56.128", 6379);
Jedis jedis = jedisPool.getResource();
/*添加元素*/
jedis.sadd("set1", "1", "2", "3", "3");
jedis.sadd("set2", "2", "4", "5");
/*得到集合*/
System.out.println(jedis.smembers("set1"));// [1,2,3]
/*元素是否在集合中*/
System.out.println(jedis.sismember("set1", "1"));//true
/*取交集*/
System.out.println(jedis.sinter("set1", "set2"));// [2]
/*取并集*/
System.out.println(jedis.sunion("set1", "set2"));//[1,2,3,4,5]
/*差集*/
System.out.println(jedis.sdiff("set1", "set2"));//[1,3]
}
四、SortSet有序集合(Zset)
向有序集合中加入一个元素和该元素的分数(score),如果该元素已经存在则会用新的分数替换原有的分数。
@Test
public void testZSet(){
JedisPool jedisPool = new JedisPool("192.168.56.128", 6379);
Jedis jedis = jedisPool.getResource();
Map<String,Double> map = new HashMap<>();
map.put("zhangsan",1d);
map.put("lisi",3d);
map.put("wangwu",2d);
/*添加*/
jedis.zadd("score",map);
/*所有数据 有序*/
System.out.println(jedis.zrange("score",0,-1));//[zhangsan, wangwu, lisi]
/*获取元素的分数*/
System.out.println(jedis.zscore("score","zhangsan")); //1.0
/*lisi排名*/
System.out.println(jedis.zrank("score","lisi"));// 2 (默认从零开始) /*删除*/ System.out.println(jedis.zrem("score","wangwu"));
}
五、Hash散列
设置一个字段值, HSET命令不区分插入和更新操作,当执行插入操作时HSET命令返回1,当执行更新操作时返回0。
@Test
public void testHash(){
JedisPool jedisPool = new JedisPool("192.168.56.128", 6379);
Jedis jedis = jedisPool.getResource();
Map<String,String> map = new HashMap<>();
map.put("1","zhangsan");
map.put("2","lisi");
map.put("3","wangwu");
/*单个添加*/
jedis.hset("stu1","name","zhaoliu");
jedis.hset("stu1","age","20");
/*添加集合*/
jedis.hmset("stu2",map);
/*输出*/
System.out.println(jedis.hgetAll("stu2"));// {1=zhangsan, 2=lisi, 3=wangwu}
/*取值*/
System.out.println(jedis.hget("stu1","name"));//zhaoliu
/*取所有值*/
System.out.println(jedis.hgetAll("stu1"));//{name=zhaoliu, age=20}
/*得到keys*/
System.out.println(jedis.hkeys("stu1"));//[name, age]
/*得到values*/
System.out.println(jedis.hvals("stu1"));//[zhaoliu, 20]
}
其他
Redis简单介绍与数据类型的更多相关文章
- Redis简单介绍以及数据类型存储
因为我们在大型互联网项目其中.用户訪问量比較大,比較多.会产生并发问题,对于此.我们该怎样解决呢.Redis横空出世,首先,我们来简单的认识一下Redis.具体介绍例如以下所看到的: Redis是一个 ...
- Redis简单介绍
redis简单介绍 Redis VS key-value缓存产品 Redis支持数据的持久化,能够将内存中的数据保持在磁盘中,重新启动的时候能够再次载入进行使用. Redis不只支持简单的key-va ...
- Python redis 简单介绍
Python redis 简单介绍 1.安装 终端输入: pip(or)pip3.6 install redis 安装成功 2.哈哈,发现我并没有redis服务可以访问,所以到这里,在本机安装了red ...
- [freemarker篇]04.简单介绍-基本数据类型
好几天没有更新博客了,最近一顿乱七八糟的忙!今天简单更新第四章,这里只能说是简单介绍,因为权威的还是需要看Freemarker的官方中文手册! 好几天没有更新博客了,最近一顿乱七八糟的忙!今天简单更新 ...
- Redis 简单介绍(知识整理笔记)
前言: Redis 介绍:轻量级.Key-Value.内存数据库.支持持久化 Redis 数据结构:string(字符串),hash(哈希),list(列表),set(集合)及 zset (sorte ...
- Redis简单介绍与安装
Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的Web应用程序. Redis有三个主要特点,使它优越于其它键值数据存储系统 - 1) Redis将其数据库完全保存在内 ...
- Redis实战——简单介绍
出自:https://www.cnblogs.com/moonlightL/p/7364107.html Redis简单介绍 Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能, ...
- redis学习(一) redis的介绍与安装
redis简单介绍 redis全称remote-dictionary-server 直译为远程字典服务器, 是一个高性能的key-value存储系统,也被称为数据结构服务器,因为其所存储的数据值(va ...
- 01-Redis 简单介绍
Redis 简单介绍 1.Redis 是什么 Redis 是一种基于键值对的 NoSQL 数据库,与很多键值对数据库不同, redis 中的值可以有 string, hash , list , set ...
随机推荐
- CentOS6.5 SSH无法连接
1.确认连接交机机端口的正常,如查更换多几个端口试 2.确认网络不存在问题. 3.把selinux iptables服务全部关闭 4.查看本机是否侦听22端口和是否开启ssh服务 命令:netstat ...
- Java实例---flappy-bird实例解析
第一天: 实现背景图片和小鸟的动态飞行效果 package com.ftl.flappybird.day2; import java.awt.Color;//颜色 Color.class import ...
- visual studio 2017安装教程以及各类问题解决方案
文章的关键词和所含教程: VS2017安装/visual studio 2017安装/Xamarin/Android for visual studio 2017/VS2017找不到网站/VS2017 ...
- 沉淀,再出发:jQuery的初步了解和入门
沉淀,再出发:jQuery的初步了解和入门 一.前言 对于后端开发者来说,是不是真的不需要了解前端的开发经过和相关技术,从我个人的角度来说,我觉得如果不了解或者接触很少,极有可能造成开发的时候 ...
- SpringBoot 中解决跨域请求
CORS 理解 同源策略是web浏览器实现的一个重要的安全概念,它防止JavaScript代码对不同的来源(例如,不同的域)发出请求,而不是它所服务的来源.虽然同源策略有效地防止来自不同来源的资源,但 ...
- S/4HANA生产订单增强WORKORDER_UPDATE方法BEFORE_UPDATE参数分析
题目这个增强的输入参数很恐怖,长长的一串: CALL BADI l_badi->BEFORE_UPDATE EXPORTING IT_PIINSTRUCTIONVALUE = IT_PIINST ...
- 015.4守护线程和join
内容:守护线程.join方法#####################守护线程通过开启线程之前调用setDaemon()方法,变成后台线程,前台线程运行完,后台线程自动会结束#########例子 c ...
- CSS加载性能优化
将首屏页面要用到的CSS文件,放在页面头部加载,其他模块的CSS可以使用异步加载:loadCSS 和 Preload. 关于preload,推进2篇文章给大家看下: 1.通过rel="pre ...
- [POI2015]LOG
题目 发现询问是针对整个区间,也就是说位置什么用都没有 发现我们需要构造出\(s\)个长度为\(c\)的数列,每个数只能在一个数列中出现一次,且一个数最多的使用次数是其大小 对于那些大于等于\(s\) ...
- ovs加dpdk在日志中查看更多运行细节的方法
想查看更多dpdk+ovs的更多运行细节,可以采用以下方法,增加更多运行日志. 在终端输入: ovs-appctl vlog/set dpdk:file:dbg ovs-appctl vlog/set ...