redis简单运用,数据类型,适合入门

初始redis,人们总说它是一个缓存,后来才明白,其实就是个数据库,可是这个数据库不是把数据持久化到硬盘,而是存在内存中。所以写入和读取速度都是比通常数据库好比mysql快的多,因此能够做为缓存。java

redis是一个非关系型数据库,什么叫非关系型数据库呢,这是相对于关系型数据库来讲的。关系型数据库就是咱们常常见到的mysql、oracle、sqlserver等数据库,它们的存储读取都是靠sql来操做的,并且都有表结构。而非关系型数据库是没有表结构的,因此也不能用sql来操做。事实上,redis数据库中存储的都是形如key-value形式的数据,看似像一个map,存值的时候,能够set,取值的时候,能够get。mysql

想要使用redis,首先须要启动一个redis服务,正如咱们使用mysql的时候也须要先安装mysql服务,并启动,在windows系统上,有封装好的免安装版redis服务,解压后,管理员权限运行redis目录下的redis-server.exe,就启动了一个redis服务,以下,redis的默认端口是6379redis

接下来,在程序中咱们试着往里存数据,新建一个java项目,引入jedis的jar包sql

<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version>
</dependency>

接着,咱们用main方法测试数据库

public static void main(String[] args) {
        //链接redis
        //第一个参数为redis服务器的地址,这里是本机
        //第二个参数为端口,redis默认为6379
        Jedis jedis = new Jedis("localhost",6379);
        //其余操做,见下文中的代码
    }

在redis存取值时,都是用上述redis对象来操做windows

redis能够存储五种类型结构的数据,strings、hashs、lists、sets、sorted sets缓存

下面一一介绍服务器

首先就是strings,这个就至关于java中的Map<String,String>类型数据结构

//存一对儿key-value值
jedis.set("name","zhangsan");
//存好多对儿key-value值
jedis.mset("sex","1","age","27");
//存一对儿key-value值,而且设置有效期,单位为秒
jedis.setex("score",15,"60");
//给key为name的value值后面拼接追加字符串lisi
jedis.append("name","lisi");

 

利用可视化工具看到的为:oracle

score的颜色是灰色,那是由于它是临时值,在15秒后就会被自动删除掉

//获取一个key的值
String a = jedis.get("name");
//获取多个key的值
List list = jedis.mget("name","age","sex");

 

第二种数据结构为hashs,这个至关于java中的Map<String,Map<String,String>>;

//添加key为url,值为【key为google,value为www.google.com】的记录
jedis.hset("url","google","www.google.com");
//添加key为url,值为【key为baidu,value为www.baidu.com】的记录
jedis.hset("url","baidu","www.baidu.com");
//批量设置
Map<String,String> map = new HashMap<String,String>();
map.put("name","zhangsan");
map.put("sex","1");
map.put("age","27");
jedis.hmset("userinfo",map);
//获取url中的google对应的值
String a = jedis.hget("url", "google");
//获取url中google、baidu对应的值
List b = jedis.hmget("url","google","baidu");
//获取userinfo中存储的全部信息
Map c = jedis.hgetAll("userinfo");
相关文章
相关标签/搜索