Redis实战(3)数据类型一Strings
Redis的作者antirez(SalvatoreSanfilippo)曾经发表了一篇名为Redis宣言(RedisManifesto)的文章,文中列举了Redis的七个原则,以向大家阐明Redis的思..
Redis 的作者 antirez(Salvatore Sanfilippo)曾经发表了一篇名为 Redis 宣言(Redis Manifesto)
的文章,文中列举了 Redis 的七个原则,以向大家阐明 Redis 的思想。
1、Redis 是一个操作数据结构的语言工具,它提供基于 TCP 的协议以操作丰富的数据结构。
在 Redis 中,数据结构这个词的意义不仅表示在某种数据结构上的操作,更包括了结构本身
及这些操作的时间空间复杂度。
2、Redis 定位于一个内存数据库,正是由于内存的快速访问特性,才使得 Redis 能够有如此
高的性能,才使得 Redis 能够轻松处理大量复杂的数据结构,Redis 会尝试其它的存储方面
的选择,但是永远不会改变它是一个内存数据库的角色。
3、Redis 使用基础的 API 操作基础的数据结构,Redis 的 API 与数据结构一样,都是一些最基
础的元素,你几乎可以将任何信息交互使用此 API 格式表示。作者调侃说,如果有其它非人
类的智能生物存在,他们也能理解 Redis 的 API。因为它是如此的基础。
4、Redis 有着诗一般优美的代码,经常有一些不太了解 Redis 有的人会建议 Redis 采用一些
其它人的代码,以实现一些 Redis 未实现的功能,但这对我们来说就像是非要给《红楼梦》
接上后四十回一样。
5、Redis 始终避免复杂化,我们认为设计一个系统的本质,就是与复杂化作战。我们不会为了一个小功能而往源码里添加上千行代码,解决复杂问题的方法就是让复杂问题永远不要提复杂的问题。
6、Redis 支持两个层成的 API,第一个层面包含部分操作 API,但它支持用于分布式环境下
的 Redis。第二个层面的 API 支持更复杂的 multi-key 操作。它们各有所长,但是我们不会推
出两者都支持的 API,但我们希望能够提供实例间数据迁移的命令,并执行 multi-key 操作。
7、我们以优化代码为乐,我们相信编码是一件辛苦的工作,唯一对得起这辛苦的就是去享
受它。如果我们在编码中失去了乐趣,那最好的解决办法就是停下来。我们决不会选择让Redis 不好玩的开发模式。
Redis 的作者 antirez 曾笑称 Redis 为一个数据结构服务器(data structures server)
,这是一个非常准确的表述,Redis 的所有功能就是将数据以其固有的几种结构来保存,并提供
给用户操作这几种结构的接口。本文将介绍 Redis 支持的各种数据类型及其操作接口。
strings 类型及操作
string 是最简单的类型,你可以理解成与 Memcached 是一模一样的类型,一个 key 对应一个
value,其上支持的操作与 Memcached 的操作类似。但它的功能更丰富。
string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据,比如 jpg 图片或者序
列化的对象。从内部实现来看其实 string 可以看作 byte 数组,最大上限是 1G 字节,下面是
string 类型的定义:
len 是 buf 数组的长度。
free 是数组中剩余可用字节数,由此可以理解为什么 string 类型是二进制安全的了,因为它
本质上就是个 byte 数组,当然可以包含任何数据了
buf 是个 char 数组用于存贮实际的字符串内容,其实 char 和 c#中的 byte 是等价的,都是一
个字节。
另外 string 类型可以被部分命令按 int 处理.比如 incr 等命令,如果只用 string 类型,redis 就
可以被看作加上持久化特性的 memcached。
当然 redis 对 string 类型的操作比 memcached 还是多很多的,具体操作方法如下:
set:
设置 key 对应的值为 string 类型的 value。
例如我们添加一个 name= HongWan 的键值对,可以这样做:
setnx:
设置 key 对应的值为 string 类型的 value。
如果 key 已经存在,返回 0, nx是 not exist 的意思。
例如我们添加一个 name= HongWan_new 的键值对,可以这样做:
setex:
设置 key 对应的值为 string 类型的 value,并指定此键值对应的有效期。
例如我们添加一个 haircolor= red 的键值对,并指定它的有效期是 10 秒,可以这样做:
可见由于最后一次的调用是 10 秒以后了,所以取不到 haicolor 这个键对应的值。
setrange:
设置指定 key 的 value 值的子字符串。
例如我们希望将 HongWan 的 126 邮箱替换为 gmail 邮箱,那么我们可以这样做:
其中的 5 是指从下标为 5(包含 5)的字符开始替换
mset:
一次设置多个 key 的值,成功返回 ok 表示所有的值都设置了,失败返回 0 表示没有任何值被设置。
msetnx:

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Kaedah jenis data php8 termasuk menukar rentetan kepada integer, menukar integer kepada rentetan, menukar rentetan kepada nombor titik terapung, menukar nombor titik terapung kepada rentetan, menukar tatasusunan kepada rentetan, menukar rentetan kepada tatasusunan, menukar nilai Boolean kepada integer, penukaran integer kepada Nilai boolean dan penentuan jenis pembolehubah dan penukaran. Pengenalan terperinci: 1. Menukar rentetan kepada integer termasuk fungsi intval() dan (int) penukaran jenis paksa 2. Menukar integer kepada rentetan termasuk fungsi strval() dan (rentetan) penukaran jenis paksa; rentetan kepada apungan Mata dan sebagainya.

Dalam pangkalan data MySQL, medan jantina biasanya boleh disimpan menggunakan jenis ENUM. ENUM ialah jenis penghitungan yang membolehkan kita memilih satu sebagai nilai medan daripada set nilai yang dipratentukan. ENUM ialah pilihan yang baik apabila mewakili pilihan tetap dan terhad seperti jantina. Mari lihat contoh kod tertentu: Katakan kita mempunyai jadual yang dipanggil "pengguna" yang mengandungi maklumat pengguna, termasuk jantina. Sekarang kita ingin mencipta medan untuk jantina, kita boleh mereka bentuk struktur jadual seperti ini: CRE

Dalam MySQL, jenis data yang paling sesuai untuk medan jantina ialah jenis penghitungan ENUM. Jenis penghitungan ENUM ialah jenis data yang membenarkan definisi set nilai yang mungkin Medan jantina sesuai untuk menggunakan jenis ENUM kerana jantina biasanya hanya mempunyai dua nilai, iaitu lelaki dan perempuan. Seterusnya, saya akan menggunakan contoh kod khusus untuk menunjukkan cara mencipta medan jantina dalam MySQL dan menggunakan jenis penghitungan ENUM untuk menyimpan maklumat jantina. Berikut adalah langkah-langkahnya: Pertama, buat jadual bernama pengguna dalam MySQL, termasuk

Jenis data Python termasuk: 1. Jenis integer; 3. Nombor kompleks 5. Senarai 7. Pengenalan terperinci: 1. Jenis integer, digunakan untuk mewakili integer, yang boleh menjadi positif, negatif, atau sifar Dalam Python, julat nilai yang boleh diwakili integer adalah khusus platform 2. Jenis titik terapung, digunakan untuk mewakili nombor dengan bahagian perpuluhan.

Python digunakan secara meluas dalam pelbagai bidang dengan sintaksnya yang ringkas dan mudah dibaca. Menguasai struktur asas sintaks Python adalah penting, kedua-duanya untuk meningkatkan kecekapan pengaturcaraan dan untuk mendapatkan pemahaman yang mendalam tentang cara kod tersebut berfungsi. Untuk tujuan ini, artikel ini menyediakan peta minda komprehensif yang memperincikan pelbagai aspek sintaks Python. Pembolehubah dan Jenis Data Pembolehubah ialah bekas yang digunakan untuk menyimpan data dalam Python. Peta minda menunjukkan jenis data Python biasa, termasuk integer, nombor titik terapung, rentetan, nilai Boolean dan senarai. Setiap jenis data mempunyai ciri dan kaedah operasinya sendiri. Operator Operator digunakan untuk melaksanakan pelbagai operasi pada jenis data. Peta minda merangkumi jenis operator yang berbeza dalam Python, seperti operator aritmetik, nisbah

Apabila mereka bentuk jadual pangkalan data, memilih jenis data yang sesuai adalah sangat penting untuk pengoptimuman prestasi dan kecekapan penyimpanan data. Dalam pangkalan data MySQL, sebenarnya tiada apa yang dipanggil pilihan terbaik untuk jenis data untuk menyimpan medan jantina, kerana medan jantina umumnya hanya mempunyai dua nilai: lelaki atau perempuan. Tetapi untuk kecekapan dan penjimatan ruang, kami boleh memilih jenis data yang sesuai untuk menyimpan medan jantina. Dalam MySQL, jenis data yang paling biasa digunakan untuk menyimpan medan jantina ialah jenis penghitungan. Jenis penghitungan ialah jenis data yang boleh mengehadkan nilai medan kepada set terhad.

Penjelasan terperinci tentang penggunaan jenis Boolean dalam MySQL MySQL ialah sistem pengurusan pangkalan data hubungan yang biasa digunakan Dalam aplikasi praktikal, selalunya perlu menggunakan jenis Boolean untuk mewakili nilai logik benar dan salah. Terdapat dua kaedah perwakilan jenis Boolean dalam MySQL: TINYINT(1) dan BOOL. Artikel ini akan memperkenalkan secara terperinci penggunaan jenis Boolean dalam MySQL, termasuk definisi, tugasan, pertanyaan dan pengubahsuaian jenis Boolean, dan menerangkannya dengan contoh kod tertentu. 1. Jenis Boolean ditakrifkan dalam MySQL dan boleh

Bahasa C ialah bahasa pengaturcaraan komputer yang digunakan secara meluas yang cekap, fleksibel dan berkuasa. Untuk mahir dalam pengaturcaraan dalam bahasa C, anda perlu memahami sintaks asas dan jenis datanya. Artikel ini akan memperkenalkan sintaks asas dan jenis data bahasa C dan memberi contoh. 1. Sintaks asas 1.1 Komen Dalam bahasa C, komen boleh digunakan untuk menerangkan kod untuk memudahkan pemahaman dan penyelenggaraan. Komen boleh dibahagikan kepada komen satu baris dan komen berbilang baris. //Ini ulasan satu baris/*Ini ulasan berbilang baris*/1.2 Bahasa C Kata Kunci
