Redis数据类型

一、Redis的五大数据类型

(1)String(字符串)
string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M
(2)Hash(哈希,类似java中的Map)
Redis hash 是一个键值对集合。Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。类似Java里面的Map
(3)List(列表)
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。它的底层实际是个链表
(4)Set(集合)
Redis的Set是string类型的无序集合。它是通过HashTable实现实现的,
(5)ZSet(有序集合)
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。
redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。

二、哪里去获得redis常见数据类型操作命令

Http://redisdoc.com/

三、Redis键(针对key的一些操作)

Redis数据类型_第1张图片

四、String类型

Redis数据类型_第2张图片
Redis数据类型_第3张图片
例子:
设置一个String缓存
Redis数据类型_第4张图片
获取一个String缓存
在这里插入图片描述
给缓存值加1(只针对是整数类型的value,否则会报错)
在这里插入图片描述

五、列表(List)

Redis数据类型_第5张图片

Redis数据类型_第6张图片
将a b c塞入一个list1
在这里插入图片描述
展示该list
在这里插入图片描述
在塞入一个d 进 list1
Redis数据类型_第7张图片
获取list第一个第一个元素
在这里插入图片描述
如上述:lpush+lpop就形成了一个栈,先进后出,d是最后进入list1,确最先被取出来
取出最后一个元素:如下图所示lpush+rpop 就形成一个队列,先进先出。
在这里插入图片描述

六、Set

Redis数据类型_第8张图片
设置一个 set集合
在这里插入图片描述
查看其成员
在这里插入图片描述
可以看出是无序的,但是其内部元素保持唯一

七、ZSet

Redis数据类型_第9张图片
Redis数据类型_第10张图片
例如
这里有几首歌的搜藏排名
Redis数据类型_第11张图片
查看收藏次数为200000到150000的歌曲,分数由高到低排序
在这里插入图片描述

八、Hash

Redis数据类型_第12张图片
哈希类型也是key-value结构,key是字符串类型,其value分为两个部分:field和value
其中field部分代表属性,value代表属性对应的值
Redis数据类型_第13张图片
设置一个user hash值,里面包含name 和 age
在这里插入图片描述
获取user中的age
在这里插入图片描述
获取user中的全部属性
在这里插入图片描述

关于Java连接Redis简单测试

首先需要引入redis客户端的包,这里使用的是maven引入的
Redis数据类型_第14张图片


    redis.clients
    jedis
    2.1.0

接下来我们直接看一下java是如何连接redis的。
这里我们使用Jedis去连接(jedis就是集成了redis的一些命令操作,封装了redis的java客户端)

/**
 * java连接redis测试
 * @param
 */
public static void connectRedis (){
    //连接本地的 Redis 服务
    jedis = new Jedis("192.168.220.101",6379);
    //查看服务是否运行,打出pong表示OK
    System.out.println("connection is OK==========>: "+jedis.ping());
}

这里我的Redis是安装在虚拟机上面的Linux系统上,这台虚拟机的IP地址是192.168.220.101,Redis连接的默认端口是6379.所以在Jedis中设置这些属性就可以直接访问了。
测试结果:
在这里插入图片描述
接下来我们进行简单的设置一个String类型的缓存

/**
 * 设置String 的 redis数据
 * @param key
 * @param value
 */
public static void setString(String key, String value) {
    connectRedis();
    jedis.append(key,value);
    System.out.println(jedis.get(key));
}

public static void main(String[] args) {
    setString("wqTest","Hello Redis");
}

我们来看看执行后的结果:
在这里插入图片描述
我们再去虚拟机上验证一下
在这里插入图片描述
验证是没问题了。上述的类型操作都可以在Jedis中找到对应的方法去访问。这里就不一一解释了。

下次会给大家介绍一下Redis上的数据持久化

你可能感兴趣的:(Redis)