redis字符串内型详解

redis字符串内型详解

字符串

Redis中的字符串是一个字节序列。Redis中的字符串是二进制安全的,这意味着它们的长度不由任何特殊的终止字符决定。因此,可以在一个字符串中存储高达512兆字节的任何内容。

示例

redis 172.16.10.1:6379> set name "baidu.com" 
OK 
redis 172.16.10.1:6379> get name 
"baidu.com"Shell

在上面的示例中,setget是Redis命令,name是Redis中使用的键,baidu.com是存储在Redis中的字符串的值。

注 - Redis命令不区分大小写,如SET,Setset都是同一个命令。字符串值的最大长度为 512MB。

散列/哈希

Redis散列/哈希(Hashes)是键值对的集合。Redis散列/哈希是字符串字段和字符串值之间的映射。因此,它们用于表示对象。

示例

redis 172.16.10.1:6379> HMSET ukey username "baidu" password "passswd123" points 200Shell

在上述示例中,散列/哈希数据类型用于存储包含用户的基本信息的用户对象。这里HMSETHGETALL是Redis的命令,而ukey是键的名称。

每个散列/哈希可以存储多达2^32 - 1个健-值对(超过40亿个)。

列表

Redis列表只是字符串列表,按插入顺序排序。您可以向Redis列表的头部或尾部添加元素。

示例

redis 172.16.10.1:6379> lpush alist redis 
(integer) 1 
redis 172.16.10.1:6379> lpush alist mongodb 
(integer) 2 
redis 172.16.10.1:6379> lpush alist sqlite 
(integer) 3 
redis 172.16.10.1:6379> lrange alist 0 10  

1) "sqlite" 
2) "mongodb" 
3) "redis"Shell

列表的最大长度为2^32 - 1个元素(4294967295,每个列表可容纳超过40亿个元素)。

集合

Redis集合是字符串的无序集合。在Redis中,您可以添加,删除和测试成员存在的时间O(1)复杂性。

示例

redis 172.16.10.1:6379> sadd baidulist redis 
(integer) 1 
redis 172.16.10.1:6379> sadd baidulist mongodb 
(integer) 1 
redis 172.16.10.1:6379> sadd baidulist sqlite 
(integer) 1 
redis 172.16.10.1:6379> sadd baidulist sqlite 
(integer) 0 
redis 172.16.10.1:6379> smembers baidulist  

1) "sqlite" 
2) "mongodb" 
3) "redis"Shell

注意 - 在上面的示例中,sqlite被添加了两次,但是由于集合的唯一属性,所以它只算添加一次。

一个集合中的最大成员数量为2^32 - 1(即4294967295,每个集合中元素数量可达40亿个)个。

可排序集合

Redis可排序集合类似于Redis集合,是不重复的字符集合。 不同之处在于,排序集合的每个成员都与分数相关联,这个分数用于按最小分数到最大分数来排序的排序集合。虽然成员是唯一的,但分数值可以重复。

示例

redis 172.16.10.1:6379> zadd baiduset 0 redis
(integer) 1 
redis 172.16.10.1:6379> zadd baiduset 0 mongodb
(integer) 1 
redis 172.16.10.1:6379> zadd baiduset 1 sqlite
(integer) 1 
redis 172.16.10.1:6379> zadd baiduset 1 sqlite
(integer) 0 
redis 172.16.10.1:6379> ZRANGEBYSCORE baiduset 0 1000  

1) "mongodb" 
2) "redis" 
3) "sqlite"Shell

因为 ‘sqlite‘ 的排序值是 1 ,其它两个元素的排序值是 0 ,所以 ‘sqlite‘ 排在最后一个位置上。

redis字符串内型详解

时间: 2024-10-14 06:36:00

  redis字符串内型详解的相关文章

redis服务简介 && redis.conf配置文件详解

#一.redis服务简介 redis是一个key-value存储系统. 和Memcached类似,它支持存储的value类型相对更多(memcached不支持value类型,只支持key),包括string(字符串).list(链表).set(集合)和zset(有序集 合).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis 支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中

[转]Redis内部数据结构详解-sds

本文是<Redis内部数据结构详解>系列的第二篇,讲述Redis中使用最多的一个基础数据结构:sds. 不管在哪门编程语言当中,字符串都几乎是使用最多的数据结构.sds正是在Redis中被广泛使用的字符串结构,它的全称是Simple Dynamic String.与其它语言环境中出现的字符串相比,它具有如下显著的特点: 可动态扩展内存.sds表示的字符串其内容可以修改,也可以追加.在很多语言中字符串会分为mutable和immutable两种,显然sds属于mutable类型的. 二进制安全(

Redis主从复制机制详解

Redis主从复制机制详解 Redis有两种不同的持久化方式,Redis服务器通过持久化,把Redis内存中持久化到硬盘当中,当Redis宕机时,我们重启Redis服务器时,可以由RDB文件或AOF文件恢复内存中的数据. 不过持久化后的数据仍然只在一台机器上,因此当硬件发生故障时,比如主板或CPU坏了,这时候无法重启服务器,有什么办法可以保证服务器发生故障时数据的安全性?或者可以快速恢复数据呢?想做到这一点,我们需要再了解Redis另外一种机制:主从复制. 什么是主从复制 Redis的主从复制机

Redis高可用详解:持久化技术及方案选择

Redis高可用详解:持久化技术及方案选择 Java架构师那些事 关注 0.3 2018.08.23 22:55 字数 9774 阅读 542评论 0喜欢 9 前言 本文将先说明上述几种技术分别解决了Redis高可用的什么问题,然后详细介绍Redis的持久化技术,主要是RDB和AOF两种持久化方案.在介绍RDB和AOF方案时,不仅介绍其作用及操作方法,同时还会介绍持久化实现的一些原理细节及需要注意的问题.最后,介绍在实际使用中持久化方案的选择以及经常遇到的问题等内容. 一.Redis高可用概述

Redis 复制过程详解

Redis 的复制功能分为同步( sync )和命令传播( command propagate )两个步骤: 同步用于将从服务器的数据库状态更新至主服务器当前所处的数据库状态. 命令传播则用于在主服务器的数据库状态被修改,导致主从服务器的数据库状态出现不一致时,让主从服务器的数据库重新回到一致状态. 同步 Redis 使用 psync 命令完成主从数据同步,同步过程分为:全量复制和部分复制. 全量复制:一般用于初次复制场景,它会把主节点全部数据一次性发送给从节点发送给从节点,当数据量较大时,会对

【转】Redis内部数据结构详解——ziplist

本文是<Redis内部数据结构详解>系列的第四篇.在本文中,我们首先介绍一个新的Redis内部数据结构--ziplist,然后在文章后半部分我们会讨论一下在robj, dict和ziplist的基础上,Redis对外暴露的hash结构是怎样构建起来的. 我们在讨论中还会涉及到两个Redis配置(在redis.conf中的ADVANCED CONFIG部分): hash-max-ziplist-entries 512 hash-max-ziplist-value 64 本文的后半部分会对这两个配

Python 字符串方法详解

Python 字符串方法详解 本文最初发表于赖勇浩(恋花蝶)的博客(http://blog.csdn.net/lanphaday),如蒙转载,敬请保留全文完整,切勿去除本声明和作者信息. 在编程中,几乎90% 以上的代码都是关于整数或字符串操作,所以与整数一样,Python 的字符串实现也使用了许多拿优化技术,使得字符串的性能达到极致.与 C++ 标准库(STL)中的 std::string 不同,python 字符串集合了许多字符串相关的算法,以方法成员的方式提供接口,使用起来非常方便. 字符

php 字符串函数详解

函数 描述 PHP addcslashes() 在指定的字符前添加反斜杠. 4 addslashes() 在指定的预定义字符前添加反斜杠. 3 bin2hex() 把 ASCII 字符的字符串转换为十六进制值. 3 chop() rtrim() 的别名. 3 chr() 从指定的 ASCII 值返回字符. 3 chunk_split() 把字符串分割为一连串更小的部分. 3 convert_cyr_string() 把字符由一种 Cyrillic 字符转换成另一种. 3 convert_uude

使用JS截取字符串函数详解

使用JS截取字符串函数详解 JS截取字符串函数:一.函数:split();二.函数:John();三.函 数:indexOf();四.其他几种方 法:stringObject.substring(start,stop);stringObject.substr(start [, length ])... 一.函数:split() 功能:使用一个指定的分隔符把一个字符串分割存储到数组 例子: str=”jpg|bmp|gif|ico|png”; arr=theString.split(”|”); /