潍坊网站设计,制作网站视频,全球互联网中心在哪里,中国建设银行安徽省分行招聘网站简介
Redis是完全开源#xff08;BSD许可#xff09;的内存数据结构存储#xff0c;是一个高性能的 key-value 数据库#xff0c;用作数据库、缓存、消息代理和流式处理引擎。
Redis 提供数据结构#xff0c;例如字符串、哈希、列表、集、带有范围查询的排序集、位图、超…简介
Redis是完全开源BSD许可的内存数据结构存储是一个高性能的 key-value 数据库用作数据库、缓存、消息代理和流式处理引擎。
Redis 提供数据结构例如字符串、哈希、列表、集、带有范围查询的排序集、位图、超日志、地理空间索引和流。 Redis 具有内置复制、Lua 脚本、LRU 逐出、事务和不同级别的磁盘持久性并通过 Redis Sentinel 和 Redis 集群的自动分区提供高可用性。
Redis使用内存中数据集。
Redis与其他key-value缓存产品有三个特点
Redis支持数据的持久化可以将内存中的数据保存在磁盘中重启的时候可以再次加载进行使用。Redis不仅仅支持简单的key-value类型的数据同时还提供listsetzsethash等数据结构的存储。Redis支持数据的备份即master-slave模式的数据备份。 Redis数据类型
连接到redis
redis-ci -h 127.0.0.1 -p 6379
进入后
连接到本地的 redis 服务并执行 PING 命令该命令用于检测 redis 服务是否启.
redis 127.0.0.1:6379PING
PONG String字符串
存储和检索数据
设置和获取字符串值
SET bike:1 Process 134
使用Redis的SET命令设置了键为bike1值为Process 134的数据
GET bike:1
查看bike:1这个键对应的值 输出Process 134 Hash哈希 Redis hash 是一个键值(keyvalue)对集合。 Redis hash 是一个 string 类型的 field 和 value 的映射表hash 特别适合用于存储对象。
设置和访问对象的字段值 HSET bike:1 model Deimos brand Ergonom type Enduro bikes price 4972
(integer) 4HGET bike:1 model
DeimosHGET bike:1 price
4972HGETALL bike:1
1) model
2) Deimos
3) brand
4) Ergonom
5) type
6) Enduro bikes
7) price
8) 4972 HSET bike:1 model Deimos brand Ergonom type Enduro bikes price 4972 给bike:1这个键添加值 HGET bike:1 model // 输出bike1 model对应的值 HGET bike:1 price //输出bike1 price对应的值 HGETALL bike:1 //输出bike1 所有的键值对 List列表
Redis 列表是简单的字符串列表按照插入顺序排序。你可以添加一个元素到列表的头部左边或者尾部右边。
HMSET runoob field1 Hello field2 World
redis 127.0.0.1:6379 DEL runoob
redis 127.0.0.1:6379 lpush runoob redis
(integer) 1
redis 127.0.0.1:6379 lpush runoob mongodb
(integer) 2
redis 127.0.0.1:6379 lpush runoob rabbitmq
(integer) 3
redis 127.0.0.1:6379 lrange runoob 0 10
1) rabbitmq
2) mongodb
3) redis
redis 127.0.0.1:6379 Set集合
Redis 的 Set 是 string 类型的无序集合。
集合是通过哈希表实现的所以添加删除查找的复杂度都是 O(1)。
sadd 命令
添加一个 string 元素到 key 对应的 set 集合中成功返回 1如果元素已经在集合中返回 0。
sadd key member
redis 127.0.0.1:6379 DEL runoob
redis 127.0.0.1:6379 sadd runoob redis
(integer) 1
redis 127.0.0.1:6379 sadd runoob mongodb
(integer) 1
redis 127.0.0.1:6379 sadd runoob rabbitmq
(integer) 1
redis 127.0.0.1:6379 sadd runoob rabbitmq
(integer) 0
redis 127.0.0.1:6379 smembers runoob1) redis
2) rabbitmq
3) mongodb
rabbitmq由于添加了两次但根据集合内元素的唯一性第二次插入的元素将被忽略。
zset(sorted set有序集合)
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。
zadd 命令
添加元素到集合元素在集合中存在则更新对应score
zadd key score member
redis 127.0.0.1:6379 DEL runoob
redis 127.0.0.1:6379 zadd runoob 0 redis
(integer) 1
redis 127.0.0.1:6379 zadd runoob 0 mongodb
(integer) 1
redis 127.0.0.1:6379 zadd runoob 0 rabbitmq
(integer) 1
redis 127.0.0.1:6379 zadd runoob 0 rabbitmq
(integer) 0
redis 127.0.0.1:6379 ZRANGEBYSCORE runoob 0 1000
1) mongodb
2) rabbitmq
3) redis