- redis安装-redis集群管理
- redis主从复制(读写分离)-redis集群管理
- redis主从从架构搭建-redis集群管理
- redis从库只读设置-redis集群管理
- redis主从复制的原理-redis集群管理
- redis sentinel(哨兵) 配置详解-redis集群管理
- redis sentinel.conf详解-redis集群管理
- redis 集群环境搭建-redis集群管理
- redis集群插槽分配-redis集群管理
- redis新增集群节点-redis集群管理
- redis删除集群节点-redis集群管理
- redis集群出现宕机没法访问-redis集群管理
- redis 集群使用主从复制架构-redis集群管理
- Redis概述
- 基于linux下redis安装与配置
- 基于window安装redis
- Redis配置文件详解
- 通过redis客户端查看和设置配置
- Redis 客户端连接、密码验证、连接数设置
- 使用info命令获取 redis 服务详细信息
- Redis Desktop Manager客户端使用教程
知识点
相关文章
更多最近更新
更多快速掌握 redis 数据类型
2019-03-14 23:56|来源: 网路
Redis支持以下五种数据类型
String(字符串)
Hash(哈希表)
List(列表)
Set(集合)
zset(sorted set:有序集合)。
下面分别对以上5种数据类型进行介绍
1、字符串(String)
String 主要是用于一些比较简单的key/value存储,value是字符串类型,是redis中最常用的redis数据类型。 一个键最大能存储512MB
redis的string类型是二进制安全的,可以包含任何数据,比如jpg图片或者序列化的对象 。
string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value。
string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。
string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 512MB。
常用命令:
SET
SETNX
SETEX
SETRANGE
MSET
MSETNX
APPEND
GET
MGET
GETRANGE
GETSET
STRLEN
DECR
DECRBY
INCR
INCRBY
SETBIT
GETBIT
实例:
redis 127.0.0.1:6379> SET name "656463.com"
OK
redis 127.0.0.1:6379> GET name
"656463.com"
2、哈希表(Hash)
Redis Hash 数据类型,其所存储的值是key/value的键值对,特别适合存储对象,例如存储用户信息,用户ID为redis中的key,各成员变量为存储值的内部key,成员变量的值为存储值的内部value
每个 hash 可以存储 2 32 -1 键值对(40多亿)。
常用命令:
HSET
HSETNX
HMSET
HGET
HMGET
HGETALL
HDEL
HLEN
HEXISTS
HINCRBY
HKEYS
HVALS
实例:
redis 127.0.0.1:6379> HMSET user:1 username 656463.com 656463 www.656463.com OK redis 127.0.0.1:6379> HGETALL user:1 1) "username" 2) "656463.com" 3) "656463" 4) "www.656463.com" redis 127.0.0.1:6379>
3、链表(List)
Redis List 存储的值是有序的,可以在列表的头部或尾部插入数据。例如粉丝关注列表等。列表最多可存储 232 - 1元素 (4294967295, 每个列表可存储40多亿)。
常用命令:
LPUSH
LPUSHX
RPUSH
RPUSHX
LPOP
RPOP
BLPOP
BRPOP
LLEN
LRANGE
LREM
LSET
LTRIM
LINDEX
LINSERT
RPOPLPUSH
BRPOPLPUSH
实例:
redis 127.0.0.1:6379> lpush test redis (integer) 1 redis 127.0.0.1:6379> lpush test mongodb (integer) 2 redis 127.0.0.1:6379> lpush test rabitmq (integer) 3 redis 127.0.0.1:6379> lrange test 0 10 1) "rabitmq" 2) "mongodb" 3) "redis" redis 127.0.0.1:6379>
4、集合(Set)
Redis中的Set数据结构主要特别是无序与去重 。也就是集合中不能用相同的元素,集合中的数据是无序的。 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
集合中最大的成员数为 232 - 1(4294967295, 每个集合可存储40多亿个成员)。
常用数据
SADD
SREM
SMEMBERS
SISMEMBER
SCARD
SMOVE
SPOP
SRANDMEMBER
SINTER
SINTERSTORE
SUNION
SUNIONSTORE
SDIFF
SDIFFSTORE
实例:
redis 127.0.0.1:6379> sadd test redis
(integer) 1
redis 127.0.0.1:6379> sadd test mongodb
(integer) 1
redis 127.0.0.1:6379> sadd test rabitmq
(integer) 1
redis 127.0.0.1:6379> sadd test rabitmq
(integer) 0
redis 127.0.0.1:6379> smembers test
1) "rabitmq"
2) "mongodb"
3) "redis"
5、有序集(zset, Sorted Set)
Redis sorted set的使用场景与set类似,区别是set不是自动有序的,而sorted set可以通过用户额外提供一个优先级(score)的参数来为成员排序,并且是插入有序的,即自动排序。当你需要一个有序的并且不重复的集合列表,那么 可以选择sorted set数据结构,比如twitter 的public timeline可以以发表时间作为score来存储,这样获取时就是自动按时间排好序的。
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
常用命令:
ZADD
ZREM
ZCARD
ZCOUNT
ZSCORE
ZINCRBY
ZRANGE
ZREVRANGE
ZRANGEBYSCORE
ZREVRANGEBYSCORE
ZRANK
ZREVRANK
ZREMRANGEBYRANK
ZREMRANGEBYSCORE
ZINTERSTORE
ZUNIONSTORE
实例:
redis 127.0.0.1:6379> zadd test 0 redis
(integer) 1
redis 127.0.0.1:6379> zadd test 0 mongodb
(integer) 1
redis 127.0.0.1:6379> zadd test 0 rabitmq
(integer) 1
redis 127.0.0.1:6379> zadd test 0 rabitmq
(integer) 0
redis 127.0.0.1:6379> ZRANGEBYSCORE test 0 1000
1) "redis"
2) "mongodb"
3) "rabitmq"
redis知识点
redis快速入门
reids常用命令
redis数据结构
java_API_客户端
Jedis
Tlcache
redis_持久化
AOF
RDB
发布订阅(pub/sub)
redis_事件
redis事务
redis通讯协议
RESP(Redis Serialization Protocol)
redis高可用
redis哨兵
监控(Monitoring) 提醒(Notification) 自动故障迁移(Automatic failover)
redis主从复制
-
- 主从复制
- 从从复制
-
- slave向master发送sync命令;
- master开启子进程执行bgsave写入rdb文件;
- master发送缓存和RDB文件给slave;
- master发送数据发送给slave完成复制;
redis集群(Redis_Cluster)
相关问答
更多-
redis怎么使用[2024-01-20]
应用Redis实现数据的读写,同时利用队列处理器定时将数据写入mysql。 同时要注意避免冲突,在redis启动时去mysql读取所有表键值存入redis中,往redis写数据时,对redis主键自增并进行读取,若mysql更新失败,则需要及时清除缓存及同步redis主键。 这样处理,主要是实时读写redis,而mysql数据则通过队列异步处理,缓解mysql压力,不过这种方法应用场景主要基于高并发,而且redis的高可用集群架构相对更复杂,一般不是很推荐。 -
Redis有哪些数据类型[2022-03-21]
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 -
redis支持的数据类型有哪些[2022-06-25]
string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。 string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。 -
redis数据类型list具体是怎样的[2022-03-02]
只提供想法:前提:所要对比的数据是相同的,或者不可重复字段是相同的 ,因为list数据比较小,那么让list里面的数据插入redis 数据源里面,循环单条插入,中间需要绕过并处理好报错的,然后你就知道那些事重复的了 -
java List集合与redis数据快速比对[2022-04-10]
只提供想法:前提:所要对比的数据是相同的,或者不可重复字段是相同的 ,因为list数据比较小,那么让list里面的数据插入redis 数据源里面,循环单条插入,中间需要绕过并处理好报错的,然后你就知道那些事重复的了 -
redis数据类型list具体是怎样的[2022-08-29]
只提供想法:前提:所要对比的数据是相同的,或者不可重复字段是相同的 ,因为list数据比较小,那么让list里面的数据插入redis 数据源里面,循环单条插入,中间需要绕过并处理好报错的,然后你就知道那些事重复的了 -
redis可以存储哪些数据类型[2023-10-03]
最近学习下redis,作为一个高性能的k/v数据库,如果数据不用swap的话,redis的性能是无以伦比的。最近在做一个系统附件的缓存,试着把附件放到redis试试,写了个保存文件的方法。public class TestRedis{ Jedis redis = new Jedis("localhost"); //序列化方法 public byte[] object2Bytes(Object value) { if (value == null) return null; ByteArrayOutputSt ... -
redis怎么使用[2022-05-23]
应用Redis实现数据的读写,同时利用队列处理器定时将数据写入mysql。 同时要注意避免冲突,在redis启动时去mysql读取所有表键值存入redis中,往redis写数据时,对redis主键自增并进行读取,若mysql更新失败,则需要及时清除缓存及同步redis主键。 这样处理,主要是实时读写redis,而mysql数据则通过队列异步处理,缓解mysql压力,不过这种方法应用场景主要基于高并发,而且redis的高可用集群架构相对更复杂,一般不是很推荐。 -
java List集合与redis数据快速比对[2022-05-07]
只提供想法:前提:所要对比的数据是相同的,或者不可重复字段是相同的 ,因为list数据比较小,那么让list里面的数据插入redis 数据源里面,循环单条插入,中间需要绕过并处理好报错的,然后你就知道那些事重复的了 -
看来Laravel并没有像你提到的那样做到这一点的方法。 但是,您似乎应该能够像使用任何其他方法一样使用run方法执行redis auth命令。 您可以在创建连接后执行此操作。 Redis在连接时不进行身份验证,它实现了一个处理身份验证的命令,如http://redis.io/commands/auth所述 至于在配置文件中存储密码,也可能是在配置中添加变量并像引用任何其他配置变量一样引用它。 It doesn't appear Laravel has a method for doing this in ...