Artikel ini membawakan anda pengetahuan yang berkaitan tentang Redis, yang terutamanya memperkenalkan kandungan yang berkaitan tentang jenis data asas dan operasi Mari kita lihat bersama-sama.
Pembelajaran yang disyorkan: Tutorial video Redis
Pengenalan Redis
redis ialah perisian yang dibangunkan terutamanya oleh pembangun Salvatore Sanfilippo Memori struktur data memori sumber terbuka yang dibangunkan oleh Antirez digunakan untuk meningkatkan kebolehskalaan tapak webnya Ia boleh digunakan sebagai pangkalan data, cache, broker mesej, dsb., dan boleh digunakan dalam kombinasi dengan Redis dalam projek.
Redis mempunyai struktur data yang kaya, kelajuan yang sangat baik, dan fungsi yang lengkap Banyak syarikat menggunakan Redis Ia mempunyai ciri-ciri berikut:
- Pantas
- Pangkalan data NoSQL <.>
menyokong banyak persekitaran -
Redis ialah pangkalan data dalam memori, yang bermaksud bahawa semua data disimpan dalam memori dan bukannya pada cakera keras (sudah tentu, sandaran penuh cakera keras turut disokong) dan sandaran tambahan). Ciri ingatan ialah ia boleh menyokong akses pantas dan carian pantas, tetapi ia juga tertakluk kepada had ruang.
Dalam seni bina pangkalan data, Redis biasanya terletak di antara klien dan pangkalan data untuk mengurangkan beban pada pangkalan data atau aplikasi NoSQL dan mengurangkan kependaman capaian data semasa caching.
Kegunaan utama Redis
Baris gilir- Terbitkan/Langgan
- Analisis masa nyata
- Pembelajaran Mesin: Memproses data yang besar, pelbagai dan pantas untuk pembelajaran mesin
- Pemprosesan Geospatial
- Kedudukan/Pengiraan (iaitu carian hangat yang anda lihat setiap hari)
- Caching Sesi
- Caching Halaman Penuh
-
Syarikat yang menggunakan Redis
Redis digunakan dengan Mula
Terdapat banyak tutorial pemasangan di Internet Berikut adalah bahagian Mac sebagai contoh Selepas memasang pelayan Redis, anda boleh memulakan pelayan Redis melalui arahan berikut:
redis-server
Salin selepas log masuk
dan. lulus arahan berikut Mulakan klien redis-cli:
redis-cli -h 127.0.0.1 -p 6379
Salin selepas log masuk
Seperti yang ditunjukkan dalam rajah:
Kini kami boleh menerima mesej pilihan melalui Perintah Redis PING Sebagai parameter, arahan ini biasanya digunakan untuk menguji sama ada sambungan antara klien dan pelayan adalah normal Jika pengguna melaksanakan arahan ini dalam bentuk tiada parameter, pelayan akan mengembalikan PONG sebagai balasan kepada klien. jika sambungan adalah normal:
127.0.0.1:6379> PINGPONG
Salin selepas log masuk
Ujian sebenar adalah seperti berikut:
Pengenalan awal kepada Redis selesai, mari kita lihat asas operasi Redis Common pada mesin struktur data.
Jenis data asas Redis
String- Hash
- Senarai
- Koleksi
- Set Tempahan
- HyperLogLog
- Bitmap
-
Artikel ini akan memperkenalkan lima struktur data biasa yang pertama Lebih banyak jenis akan diperkenalkan secara berasingan dalam artikel lain jenis data adalah seperti berikut.
String
String (rentetan) ialah jenis pasangan nilai kunci yang paling asas bagi Redis Jenis ini boleh mengekalkan kedua-dua teks biasa dan data binari bersiri.
Jenis rentetan mengaitkan satu kunci dengan satu nilai dalam pangkalan data Kunci dan nilai yang berkaitan boleh menjadi data teks biasa, atau imej, video, audio, dimampatkan Data binari yang lebih kompleks seperti fail. Jenis rentetan boleh menyimpan sehingga 512M data.
Beberapa operasi biasa pada rentetan
Arahan SET: Tetapkan nilai yang sepadan untuk rentetan, seperti SET number "10086"
Arahan GET : Dapatkan nilai yang sepadan dengan kunci -
127.0.0.1:6379> SET number "10086"OK127.0.0.1:6379> GET number"10086"127.0.0.1:6379>
Salin selepas log masuk
GETRANGE: Dapatkan kandungan rentetan yang dipintas - STRLEN: Dapatkan panjang rentetan, seperti
-
STRLEN email
SETEX: Tetapkan KEY-VALUE dengan masa tamat tempoh (saat), seperti SETEX city 5 Beijing
Aktiviti jualan kilat tetapan PSETEX milisaat
- MSET:设置多个 KEY-VALUE ,如
MSET username jack sex male age 24
- MGET:获取多个 VALUE,如
MGET username sex age
- APPEND: 用于在字符串结尾追加内容
- INCR:数字自增加1 ,如
INCR number
127.0.0.1:6379> INCR number(integer) 10087127.0.0.1:6379>
Salin selepas log masuk
- INCRBY:数字加上指定的整数值
- INCRBYFLOAT:数字加上指定的浮点数
- DECR:数字自增减一
- DECBY:数字减去指定的整数值
这些命令,大家都可以自己在。 Redis 客户端进行测试。
哈希类型
用来保存更复杂的结构化数据
- HSET:设置哈希表字段
- HMSET:设置哈希表多个字段
- HGET:获取哈希表字段值,如
HGET 8000 ename
- HMGET:获取多个哈希表字段值,如
HMGET 80000 ename job deptno
- HGETALL:获取所有哈希表字段值
- HKEYS:获取所有哈希表字段名
- HLEN:哈希表中的字段数量
- HEXISTS:判断哈希表是否存在某个字段
- HVALS:获取哈希表中的所有字段值
- HDEL:删除哈希表的字段
- HINCRBY:让哈希表某个字段值加上指定的整数值,如
HINCRBY 8000 deptono 10
- HINCRBYFLOART:让哈希表某个字段值加上指定的浮点数
列表类型
当我们需要向 VALUE 保存序列化的数据,可以使用列表类型
RPUSH dname 技术部 后勤部 售后部
LPUSH dname 秘书处
LSET dname 2 销售部
LRANGE dname 0 -1
Salin selepas log masuk
- RPUSH:在列表末尾新增值
- LPUSH:在列表开头新增值
- LLEN:获取列表长度
- LINDEX:获取列表某个元素,如
lindex dname 0
- LINSERT:在某个位置插入元素,如
linsert dname before 秘书处 董事会
- LPOP:删除最左边的元素
LPOP dname
- RPOP:删除列表最右边的元素
RPOP dname
- LREM:删除列表某个元素,如
RPUSH employee Scott
RPUSH employee Jack
RPUSH employee Scott
LREM employee 1 Scott # 删除第一个Scott,不是指索引为一
Salin selepas log masuk
集合类型
假如要求数据不允许重复,则可以使用集合类型。
集合操作
SADD empno 8000SADD empno 8001SADD empno 8002SADD empno 8003 8004 8005SMEMBERS empno
Salin selepas log masuk
- SADD:将给定值添加到集合
- SCARD:获取集合长度,如:
SCARD empno
- SISMEMBER:判断是否含有某个元素,如
SISMENBER empno 8000
- SREM:删除某个元素
- SPOP:随机删除并返回集合的某个元素,如
SPOP empno
- SRANDMEMBER:随机返回集合中的元素,如
SRANDMEMBER empno 5
- SUNION:组合两个或多个集合并返回所有元素的列表
- SMOVE:将成员从一个集合移动到另一个集合
有序集合
带有排序功能的集合,Redis 按照元素分数值排序
ZADD keyword 0 "han" 0 "jack ma" 0 "Andrew wu"ZINCRBY keyword 1 "han"ZINCRBY keyword 5 "jack ma"ZINCRBY keyword 2 "Andrew wu"ZREVRANGE key 0 -1
Salin selepas log masuk
- ZCARD:获取有序集合长度
- ZCOUNT:查询某个分数值区间内的元素数量,如
ZCOUNT keyword 5 10
- ZSCORE:查询元素的分数值
- ZRANGE:获取有序集合的内容(升序),如
ZRANGE keyword 0 -1
- ZREVRANGE:获取有序集合的内容(降序),如
ZREVRANGE keyword 0 -1
- ZRANGEBYSCORE:获取分数值区间内的集合内容(升序),如
zrangebyscore keyword 5 10 # 5-10
zrangebyscore keyword 5 (10 # 大于等于5, 小于 10
zrangebyscore keyword 100000 +inf
Salin selepas log masuk
- ZREVRANGEBYSCORE:获取分数值区间内的集合内容(降序)
zrevrangebyscore keyword 10 5
- ZRANK:获取元素的升序排名(从0开始)
zrank keyword "xx"
- ZREVRANK:获取元素的降序排名(从0开始)
- ZREM:删除有序集合中的元素
ZREM keyword "x" "y"
- ZREMRANGEBYRANK:删除排名区间内的元素
zremrangebyrank keyword 0 2
- ZREMRANGEBYSCORE:删除分数值区间内的元素
zremrangebyscore keyword 0 -3
如 zremrangebyscore keyword inf (5000)
推荐学习:Redis视频教程
Atas ialah kandungan terperinci Jenis dan operasi data asas Redis (perkongsian ringkasan). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!