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 ...
随机推荐
- tomcat7环境
官方下载页面:http://tomcat.apache.org/download-70.cgi 选择64-bit Windows zip下载 解压后,进入tomcat-7.0.73\bin目录,双击运 ...
- CentOS随笔 - 修改CentOS7的IP
前言 转帖请注明出处: http://www.cnblogs.com/Troy-Lv5/ 在使用CentOS时经常我们需要固定一个IP, 因为服务器嘛,不固定IP. 难道每次都要配置开发环境的地址.? ...
- Github文件夹下载到本地
1.如图:需要将以下文件夹下载到本地. https://github.com/aspnet/Docs/tree/master/aspnet/mvc/overview/getting-started/i ...
- Java 运算符(引用和对象)
1. 算数运算符 就是+.-.*./.%.++.--这些,没什么好说的,稍微强调下自加,自减: 前缀自增自减法(++i,--i): 先进行自增或者自减运算,再进行表达式运算. 后缀自增自减法(i++, ...
- 当有多个相同的DIV时,我怎么判断我点击的是哪个嘞
链接:https://segmentfault.com/a/1190000003480973?utm_source=tuicool&utm_medium=referral 序言 这是我曾经面试 ...
- IOS 登录信息类(使用单例)
WCUserInfo.h #import <Foundation/Foundation.h> #import "Singleton.h" @interface WCUs ...
- Linux系统下常用的磁盘管理命令——du / df / fdisk / mount / xxd
之前使用虚拟机体验Linux操作系统的使用,一般使用默认的磁盘分区设置,也很少涉及磁盘管理操作,且总有删除重装作为后盾.在安装Ubuntu双系统后,在使用过程中遇到了磁盘分区不合理导致的/boot分区 ...
- Mint-ui 中 Popup 作为组件引入,控制弹出框的显示与隐藏遇到的问题。
Popup组件的结构: <template> <div> <!--分享弹出窗 begin--> <mt-popup class="s ...
- vue2.* 绑定属性 绑定Class 绑定style 03
<template> <div id="app"> <!-- 绑定属性 --> <div v-bind:title="title ...
- [运维笔记] Nginx编译安装
yum -y install pcre-devel.x86_64 yum -y install openssl openssl-devel.x86_64 useradd www -s /sbin/no ...