Redis学习笔记

Redis基本数据类型以及使用场景

学习JavaGuide的《Java突击手册》笔记

一、string

1、介绍:

String是一种简单的key-value结构,使用简单动态字符串(SDS),可以保存文本和二进制,获取长度时间复杂度为O(1),且不会造成内存 溢出。

2、常用命令:
set、 get、 strlen、 exists、 dect、 incr、 setex
3、应用场景

用户访问次数,热点文章的点赞等需要计数的场景

4、string的使用
4.1 基本操作
> set key vaule
OK
> get key
"vaule"
> exists key
(integer) 1
> strlen key
(integer) 5
> get key
"vaule"
4.2 批量操作
> mset key1 value1 key2 value2
OK
> mget key1 key2
1) "value1"
2) "value2"
4.3 计数器
# 直接创建变量
> incr number
(integer) 1
> incr number
(integer) 2
> get number
"2"
> decr number
(integer) 1
> get number
"1"
4.4 过期
# 设置数据60s后过期
> expire k1 60
(integer) 1
> setex key 60 value
OK
> ttl key
(integer) 53
> get key
"value"

二、list

1、介绍:

list是一个双向链表

2、常用命令:
rpush、 rpop、 lpush、 lpop、 lrange、 llen
3、应用场景

发布订阅,消息队列,慢查询

4、list的使用
4.1 实现队列
> rpush myList value1
(integer) 1
> rpush myList value2 value3
(integer) 3
> lpop myList
"value1"
> lrange myList 0 1
1) "value2"
2) "value3"
> lrange myList 0 -1
1) "value2"
2) "value3"
4.2 实现栈
> rpush stack value1 value2 value3
(integer) 3
> rpop stack
"value3"
4.3 查看对应下标列表元素
> rpush stack value1 value2 value3
(integer) 3
> rpop stack
"value3"
> lrange stack 0 1
1) "value1"
2) "value2"
> lrange stack 0 -1
1) "value1"
2) "value2"
4.4 查看列表长度
> llen myList
(integer) 5

三、list

1、介绍:

list是一个双向链表

2、常用命令:
rpush、 rpop、 lpush、 lpop、 lrange、 llen
3、应用场景

发布订阅,消息队列,慢查询

4、list的使用
4.1 基本操作

4.1 基本操作

4.1 基本操作

三、hash

1、介绍:

list是一个双向链表

2、常用命令:
rpush、 rpop、 lpush、 lpop、 lrange、 llen
3、应用场景

发布订阅,消息队列,慢查询

4、list的使用
4.1 基本操作
> hset user name "li" desc "nan" age 24
3
> hexists user name
(integer) 1
> hget user name
"li"
> hgetall user
1) "name"
2) "li"
3) "desc"
4) "nan"
5) "age"
6) "24"
> hkeys user
1) "name"
2) "desc"
3) "age"
> hvals user
1) "li"
2) "nan"
3) "24"
> hset user name "zhang"
0
> hget user name
"zhang"

四、set

1、介绍:

list是一个双向链表

2、常用命令:
rpush、 rpop、 lpush、 lpop、 lrange、 llen
3、应用场景

发布订阅,消息队列,慢查询

4、list的使用
4.1 基本操作
> sadd set value1 value2
(integer) 2
> sadd set value1
(integer) 0
> scard set
2
> sismember set value1
(integer) 1
> sadd set2 value2 value3
(integer) 2
> sinterstore set3 set set2
1
> smembers set3
1) "value2"

五、zset

1、介绍:

list是一个双向链表

2、常用命令:
rpush、 rpop、 lpush、 lpop、 lrange、 llen
3、应用场景

发布订阅,消息队列,慢查询

4、list的使用
4.1 基本操作
> zadd mySet 3.0 v1
(integer) 1
> zadd mySet 2.0 v2 1.0 v3
(integer) 2
> zcard mySet
3
> zscore mySet v1
3.0
> zrange mySet 0 -1
1) "v3"
2) "v2"
3) "v1"
> zrange mySet 0 1
1) "v3"
2) "v2"
> zrevrange mySet 0 1
1) "v1"
2) "v2"
4.2 基本操作

4.3 基本操作

未完成…

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值