Redis数据类型

redis 5种数据类型
1 字符串类型
2散列类型hash
3 列表类型
4 集合类型
5 有序集合类型

1 字符串类型
一般做一些复杂的计数功能的缓存
127.0.0.1:6379> set hehe hello hehe是key hello是values
OK
127.0.0.1:6379> get hehe
“hello”

追加命令 (向key的值后面追加数据)
127.0.0.1:6379> get hehe
“hello”
127.0.0.1:6379> append hehe word
(integer) 9
127.0.0.1:6379> get hehe
“helloword”

自增
127.0.0.1:6379> incr num (每执行一次该名利自增1)
(integer) 1
指定增长数量
127.0.0.1:6379> incrby num 10
(integer) 19

自减
127.0.0.1:6379> decr num
(integer) 18

指定较少数量
127.0.0.1:6379> decrby num 5
(integer) 13

自增小数浮点
127.0.0.1:6379> incrbyfloat key 0.1
“0.1”
127.0.0.1:6379> incrbyfloat key 0.1
“0.2”

一次创建多个key和value
127.0.0.1:6379> mset key1 v1 key2 v2
OK

一次查看多个key
127.0.0.1:6379> mget key1 key2

  1. “vi”
  2. “v2”

获取字符串长度
127.0.0.1:6379> strlen key1
(integer) 2

2散列类型
做单点登录的时候,就是用这种数据结构存储用户信息,以cookieId作为key,设置30分钟为缓存过期时间,能很好的模拟出类似session的效果。

127.0.0.1:6379> hset shouji name iphone
(integer) 1
127.0.0.1:6379> hset shouji col red
(integer) 1
127.0.0.1:6379> hset shouji price 8888
(integer) 1
127.0.0.1:6379> hgetall shouji

  1. “name”
  2. “iphone”
  3. “col”
  4. “red”
  5. “price”
  6. “8888”

3 列表类型
可以做简单的消息队列的功能。另外还有一个就是,可以利用lrange命令,做基于redis的分页功能,性能极佳,用户体验好。本人还用一个场景,很合适—取行情信息。就也是个生产者和消费者的场景。LIST可以很好的完成排队,先进先出的原则

从左侧插入数据
127.0.0.1:6379> lpush num 0
从右侧插入数据
127.0.0.1:6379> rpush num 1
查看列表长度
127.0.0.1:6379> llen num
(integer) 2
从左侧弹出数据(删除)
127.0.0.1:6379> lpop num
“0”
从右侧弹出数据
127.0.0.1:6379> rpop num
“2”

范围内读取数据
读取数据是从左侧开始读取 第一个的标记是0 -1表示右边第一个数据
127.0.0.1:6379> lrange num 0 -1

  1. “5”
  2. “4”
  3. “3”
  4. “2”

获取指定元素的值
左侧标记是从0开始依次类推 右侧是从-1开始-2 -3 依次类推
127.0.0.1:6379> lindex num 0
“5”

只保留范围内数据
127.0.0.1:6379> ltrim num 0 2
127.0.0.1:6379> lrange num 0 -1

  1. “5”
  2. “4”
  3. “3”

4 集合类型
所以可以做全局去重的功能 就是利用交集、并集、差集等操作,可以计算共同喜好,全部的喜好,自己独有的喜好等功能
应用场景:好友关注关系

sadd key 值
创建集合
127.0.0.1:6379> sadd jihe a b c
查看集合内容
127.0.0.1:6379> smembers jihe
判断集合元素是否存在
127.0.0.1:6379> sismember jihe a
1为真 0为假
集合差运算
127.0.0.1:6379> sadd jihe1 a b c
(integer) 3
127.0.0.1:6379> sadd jihe2 b c d
(integer) 3
127.0.0.1:6379> sdiff jihe1 jihe2

  1. “a”
    运算方法:jihe1 减去 jihe2
    集合交集运算
    127.0.0.1:6379> sinter jihe1 jihe2
  2. “b”
  3. “c”
    集合并集运算
    127.0.0.1:6379> sunion jihe1 jihe2
  4. “a”
  5. “b”
  6. “c”
  7. “d”

5 有序集合类型
可以做排行榜应用,取TOP N操作
应用场景:热门文章

zadd key序列号值
127.0.0.1:6379> zadd youxu 81 b 82 c
获取元素的分数
127.0.0.1:6379> zscore youxu b
“81”
按照分数排列
127.0.0.1:6379> zrange youxu 0 1

  1. “b”
  2. “c”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值