专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Java开发数据库教程: Redis数据类型介绍

Java开发数据库教程: Redis数据类型介绍

更新时间:2020-07-27 15:12:45 来源:动力节点 浏览1532次

Redis作为缓存具有极其丰富的功能,比如计数器、好友关系以及排行榜等等。而Redis之所能够实现如此强大的功能,完全是依赖着它的基本数据结构。今天我们来看看Redis的五种基本的数据结构,分别是字符串(strings),散列(hashes),列表(lists)。

Java开发数据库教程: Redis数据类型介绍

1、字符串(strings)

绝大部分编程语言中都少不了的基本数据类型就是字符串(strings),数据库Redis也不例外。下面我们来看一下关于字符串的基本操作:

set key value设置值

get key获取某个key的值

mset key1 value1 key2 value2批量设置并且是原子的,可以用来减少网络时间消耗

mget key1 key2批量获取并且是原子的,可以用来减少网络时间消耗

incr key自增指定key的值

decr key自减指定key的值

incrby key value自增指定数值

decrby key value自减指定数值

incrbyfloat key floatvalue增加指定浮点数,前面几个操作就可以用来实现计数器的功能。

setnx key value如果不存在该key则可以设置成功,否则会失败,加上过期时间限制,则是redis实现分布式锁的一种方式(后面会提到)。

set key value xx与前面相反,如果存在则设置成功,否则失败(相当于更新操作)

2、散列(hashes)

我们可以把hash理解为小型Redis,Redis在底层实现上和Java中的HashMap差不多,都是使用数组+链表的二维结构实现的。不一样的是,在Redis中字典的值只能是字符串,而且他们rehash的方式也不同,在Redis中使用的是渐进式rehash。

hset key field value设置字典中某个key的值

hsetnx key field value设置字典中某个key的值(不存在的)

hmset key field1 value1 field2 value2…批量设置

hget key field获取字典中某个key的值

hmget key field1 field2批量获取

hgetall key获取全部

hdel key field删除某个key

hexists key field判断是否存在

hlen key获取指定key对应的字典中的存储个数

hvals key返回所有的value

hkeys key返回所有的key

hincrby key field increValue增加某个value的值(也可以增加负数)

hincrbyfloat key field floatValue增加某个value的值(浮点数)

3、列表(lists)

Redis中的列表相当于Java中的LinkedList,也就是底层是通过链表来实现的,所以对于list来说插入删除操作很快,但索引定位非常慢。Redis提供了许多对于list的操作,如出入等操作,你可以充分利用它们来实现一个栈或者队列。

lpush key item1 item2 item3…从左入栈

rpush key item1 item2 item3…从右入栈

lpop key从左出栈

rpop key从右出栈

lindex key index获取指定索引的元素O(n)谨慎使用

lrange key start end获取指定范围的元素O(n)谨慎使用

linsert key before|after item newitem在指定元素的前面或者后面添加新元素

lrem key count value删除指定个数值为value的元素

count=0:删除所有值为value的元素

count>0:从左到右删除count个值为value的元素

count<0:从右到做删除|count|个值为value的元素

ltrim key start end保留指定范围的元素

lset key index newValue更新某个索引的值

blpop key timeout没有则阻塞(timeout指定阻塞时间为0代表永久)

brpop key timeout没有则阻塞(timeout指定阻塞时间为0代表永久)这两个可以用来实现消费者生产者

Java开发数据库教程: Redis数据类型介绍

Java视频教程

Redis视频:http://www.bjpowernode.com/javavideo/130.html

以上就是动力节点java培训机构的小编针对“Java开发数据库教程: Redis数据类型介绍”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>