一、Redis简介以及五种数据类型介绍


一、Redis简介

Redis 是一种开源(BSD 许可)、内存中数据结构存储,用作数据库、缓存和消息代理。Redis 提供了数据结构,例如字符串、散列、列表、集合、带有范围查询的排序集合、位图、超级日志、地理空间索引和流。Redis 内置复制、Lua 脚本、LRU 驱逐、事务和不同级别的磁盘持久化,并通过 Redis Sentinel 和 Redis Cluster 自动分区提供高可用性。

二、Redis的五种数据类型介绍

1.string类型

string 类型是 Redis 最基本的数据类型,一个 key 对应一个 value。
string 类型是二进制安全的,意思是 redis 的 string 可以包含任何数据,比如jpg图片或者序列化的对象。一个Redis中字符串value最多可以存512M,但是我们不应该把内存当磁盘来用。
string类型的常用命令:
自加:incr
自减:decr
加: incrby
减: decrby

redis 127.0.0.1:6379> SET string_test "这是一个字符串"
OK
redis 127.0.0.1:6379> GET string_test 
"这是一个字符串"

如图:
string数据类型

2.hash类型

Redis hash 是一个键值(key=>value)对集合。
Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。每个 hash 可以存储 232 -1 键值对(40多亿)
hash数据类型支持的常用命令:
hset:添加hash数据
hget:获取hash数据
hmset:添加多个hash数据
hmget:获取多个hash数据

redis 127.0.0.1:6379> HMSET hash_test key1 "value1" key2 "value2"
OK
redis 127.0.0.1:6379> HMGET hash_test key1
"value1"
redis 127.0.0.1:6379> HMGET hash_test key2
"value2"

如图:
hash数据类型

3.List类型

Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
lpush:从左边推入
lpop:从右边弹出
rpush:从右变推入
rpop:从右边弹出
llen:查看某个list数据类型的长度

redis 127.0.0.1:6379> lrush list_test "元素1"
"1"
redis 127.0.0.1:6379> lrush list_test "元素2"
"2"
redis 127.0.0.1:6379> HMGET hash_test key2
"value2"

如图:
list数据类型

redis 127.0.0.1:6379> lpop list_test 
"元素2"

如图:
list数据类型

4.Set类型(集合)

Redis 的 Set 是 string 类型的无序集合。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
set类型支持的常用命令:
sadd:添加一个 string 元素到 key 对应的 set 集合中,成功返回 1,如果元素已经在集合中返回 0
scard:查看set数据中存在的元素个数
sismember:判断set数据中是否存在某个元素
srem:删除某个set数据中的元素
smembers:列出所有数据

redis 127.0.0.1:6379> sadd set_test "dog"
"1"
redis 127.0.0.1:6379> sadd set_test "cat"
"1"
redis 127.0.0.1:6379> sadd set_test "cat"
"0"
redis 127.0.0.1:6379> smembers set_test
1) "dag"
2) "cat"

如图:
set数据类型

5.Sorted set类型(有序集合))

Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。
zset类型支持的常用命令:
zadd:添加元素到集合,元素在集合中存在则更新对应score
zcard:查询个数
zrange:数据排序

redis 127.0.0.1:6379> zadd zset_test 10 "ana"
"1"
redis 127.0.0.1:6379> zadd zset_test 11 "kitty"
"1"
redis 127.0.0.1:6379> zadd zset_test 9 "lina"
"1"
redis 127.0.0.1:6379> zadd zset_test 13 "ana"
"0"
redis 127.0.0.1:6379> zcard zset_test
"3"

如图:
sorted set数据类型

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值