java redis赋值_Java 数据库之 redredis 使用----数据结构

本文介绍了Redis的基本概念和常见应用场景,并详细讲解了Redis中的四种数据结构:字符串、哈希、列表和集合。在字符串部分,介绍了设置、获取、增加和删除操作。在哈希部分,展示了如何存储和操作键值对。列表部分涵盖了两端插入、查看、弹出元素以及扩展命令。最后,讨论了集合的特点和操作,包括添加、删除、交集、并集和差集。文章还给出了各种数据结构在实际应用中的场景,如缓存、任务队列和数据统计等。
摘要由CSDN通过智能技术生成

(一)redis概述:

高性能键值对数据库,支持的键值数据类型:

1.字符串类型(string)

2.字符串列表类型(list)

3.有序集合类型(sortset)

4.哈(hash)希散列类型

5.字符串集合类型(set)

(二)redis应用场景:

1.缓存.:数据的查询,新闻信息,商品信息,聊天室在线好友的列表

2.任务队列(秒杀,抢购等等)

3.网站访问的统计

4.数据过期处理:精确到毫秒应用排行榜

5.分布式集群架构中的session的分离

(三).数据结构

(1).数据结构之一字符串存储 (String)

1.二进制操作,二进制安全,存入和获取的数据相同

2.Vlue最多可以容纳的数据长度是512M

存储存储String常用的命令:

1.赋值: set company imooc

2.取值:get company   得到"imooc";  例如:getset company baidu  现获取company的值再设置company的新值百度

3.删除 :del person  (无值nil)

(1)递增,incr num  如果没有num初始值默认0 +1

(2)递减 decr num 如果没有num初始值默认0 -1

4:扩展命令:

(1),incrby 某一个key  value   例如:incrby num 5

可以将指定的value加几 ,如果key不存在,默认为0,再加5,不能转成整形返回错误信息

(2),decrby 某一个key  value   例如:decrby nummber 3  (没有3减去3就是-3了)

可以将指定的value减几 ,如果key不存在,默认为0,再减3,不能转成整形返回错误信息 (3)append key  value ----拼凑字符串

如果key存在,在原有的value后追加这个值

append num 5

结果:(integer)2   

get num

结果: "35"   

如果key不存在,它会创建一个字符串

append num5  123

结果:(integer)3   

get num5

结果: "123"   

(2).数据结构之二哈希(hash)

存储Hash(map容器)存储值,对象的信息,用户名密码年龄信息,如果hash包含了很少的字段,那么这个类型的数据将占有很少磁盘空间

1.String Key和String Value的map容器

2.每个Hash可以存储4294967295个键值对

存储存储Hash常用的命令:

1.赋值:

hset myhash username jack  (存值操作)

hset myhash age 18  (存值操作)

hmset myhash username2 rose age 18 (可以设置多个keyvalue操作)

2.取值:

hget myhash  username

得到"jack";

hmget myhash username age

(1)"jack"

(2)"18"

hgetall myhash  (获取全部属性,属性值)

3.删除 :

hdel myhash username2 age (删除多个属性)

(integer)0 

del username2

4:增加数字:

(1)增加数字,hincrby num

5:自学命令:

(1)hexists myhash username 判断指定key中的某个属性是否存在

返回结果:(integer) 1

(2)hexists myhash password

返回结果:(integer) 0

(3)hgetall myhash

1)"user"

2)"jack"

3)"age"

4)"23"

hlen myhash

返回结果:(integer) 2

hkeys myhash(获得所有key)

返回结果:

1)username 2)age hvals myhash(获得所有key的值)

返回结果:

1)jack 2)23

(3).数据结构之一存储list

概述:

在redis中,list类型是按着插入顺序排序的字符串的链表和数据结构中的普通链表一样的我们可以在它的头部左侧-尾部右侧去添加新的元素,在插入的时候如果该键不存在,那么redis会这个键创建一个新的链表,与此相反如果链表中的所有元素都移除了,该键也会被从数据库中删除.

元素的插入和删除效率:

如果我们在链表两头插入和删除元素是非常高效的操作.

如果链表中存在了100w中条记录,也可在常量的时间完成

如果元素的插入和删除的操作是作用在链表的中间,那么效率就比较低了

1.ArrayList使用数组方式

2.linklist使用双向链接方式

3.双休链表中增加数据

3.双休链表中删除数据

存储

存储list常用的命令:

1.两端添加

左侧添加

lpush mylist a b c

lpush mylist 1 2 3

mylist链表样式模型展示:

|-----------------------------------------------------|

|   3    |    2    |     1   |   c     |    b    |     a   |

|-----------------------------------------------------|

右侧添加

rpush mylist2 a b c

rpush mylist2 1 2 3

mylist2链表样式模型展示:

|------------------------------------------------------|

|   a    |    b    |     c   |    1     |    2    |     3   |</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值