Redis基础

Redis是一个开源的高性能键值数据库,支持数据持久化、多种数据结构如字符串、哈希、列表、集合和有序集合,并具备数据备份功能。文章详细介绍了Redis的常用操作,包括字符串的设置、获取和删除,哈希的存储和获取,列表的添加和获取,集合的管理和有序集合的使用。
摘要由CSDN通过智能技术生成

Redis基础

1.什么是Redis

Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。

Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。
2.Redis数据类型

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

2.1 Redis字符串
1.存储: set key value 
127.0.0.1:0>set username lee
"OK"
2.获取 : get key
127.0.0.1:0>get username
"lee"
3.存储指定过期时间数据  setex key seconds value
127.0.0.1:0>setex password 60 123456
"OK"
4.删除
127.0.0.1:0>del username
"1"
2.2 Redis哈希(Hash)

Redis hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。

Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)

1.存储 hset key field value
127.0.0.1:0>hset user   name lee 
"1"
127.0.0.1:0>hset user   height 185
"1"
2.获取 hget key field 获取指定的 key 中 field 对应的值
127.0.0.1:0>hget user name
"lee"
127.0.0.1:0>hget user height
"185"
3.获取所有哈希表中的字段 hkeys key 
127.0.0.1:0>hkeys user
 1)  "name"
 2)  "height"
4.获取在哈希表中指定 key 的所有字段和值 hgetall key
127.0.0.1:0>hgetall user
 1)  "name"
 2)  "lee"
 3)  "height"
 4)  "185"
5.同时将多个 field-value (域-值)对设置到哈希表 key 中。 HMSET key field1 value1 field2 value2 
127.0.0.1:0>hmset user weight  70  age 25 
"OK"
6.查看哈希表 key 中,指定的字段是否存在。 hexists key field  1代表存在 0代表不存在
127.0.0.1:0>hexists user name
"1"
127.0.0.1:0>hexists user aaa
"0"
7.删除一个或多个哈希表字段  hdel key field1 field2
127.0.0.1:0>hdel user age
"1"
2.3 Redis列表(List)

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)

一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。

1.将元素添加到列表左边 lupsh key value
127.0.0.1:0>lpush  number one
"1"
127.0.0.1:0>lpush number two
"2"
2.将元素添加到列表右边 rpush key value
127.0.0.1:0>rpush number three
"3"
127.0.0.1:0>rpush number four
"4"
3.获取列表指定范围内的元素 lrange key start stop  (stop为-1代表全部)
127.0.0.1:0>lrange number 0 -1
 1)  "two"
 2)  "one"
 3)  "three"
 4)  "four"
4.移出并获取列表的第一个元素  lpop key
127.0.0.1:0>lpop number
"two"
5.
127.0.0.1:0>rpop number
"four"
2.4 Redis集合(Set)

Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

1.存储 sadd key value
127.0.0.1:0>sadd  bird  age
"1"
127.0.0.1:0>sadd bird  height
"1"
127.0.0.1:0>sadd bird  type
"1"
2. 获取 set 集合中所有元素 smembers key
127.0.0.1:0>smembers bird
 1)  "age"
 2)  "height"
 3)  "type"
3. 删除set 集合中的指定元素 srem key value  
127.0.0.1:0>srem bird height
"1"
4. SUNION key1 key2   返回所有给定集合的并集
5. SINTER key1 key2   返回给定所有集合的交集
6. SDIFF  key1 key2   返回第一个集合与其他集合之间的差异
2.5 Redis有序集合(sorted set)

Redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。

有序集合的成员是唯一的,但分数(score)却可以重复

1.存储 zadd key score value
127.0.0.1:0>zadd student  1   lee
"1"
127.0.0.1:0>zadd student  2  yu
"1"
2.获取  zrange key start end [withscores]  (end 为-1 代表所有)
127.0.0.1:0>zrange student 0 -1 withscores
 1)  "lee"
 2)  "1"
 3)  "yu"
 4)  "2"
3.删除 zrem key value
127.0.0.1:0>zrem student  yu
"1"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值