Rumah pangkalan data Redis 小记 Redis介绍与安装部署

小记 Redis介绍与安装部署

Feb 24, 2021 am 09:52 AM
redis

小记 Redis介绍与安装部署

推荐(免费):redis

文章目录

  • 一、Redis是什么
  • 二、Redis能干什么
  • 三、Redis下载与安装部署
  • 四、Redis的几个小知识

一、Redis是什么

Redis:REmote DIctionary Server(远程字典服务器)

Redis是完全开源免费的,用C语言编写的,遵守BSD协议的一个高性能的(key/value)分布式内存数据库,也是基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器。同时,Redis也是一个简单的、高效的、分布式的、基于内存的缓存工具。架构好服务器后,通过网络连接(类似数据库),提供Key-Value式缓存服务。

Redis有以下几个优势:

  • 1.性能极高 Redis读的速度是11万次/s,写的速度是8万次/秒。
  • 2.丰富的数据类型 Redis支持的类型有String、Hash、List、Set以及Ordered Set数据库类型。
  • 3.原子性 Redis所有操作都是原子性的,通过MULTI和EXEC指令包起来。
  • 4.丰富的读写 Redis支持publish/subscribe、通知、key过期等特性。
  • 5.高速读写 redis使用自己实现的分离器,代码量很短,没有使用lock(MySQL),因此效率非常高。

Redis也有以下几个劣势:

  • 1.持久化 Redis直接将数据存储在内存中,如果要将数据保存到磁盘上,第一种方法是使用①定时快照(snapshot):每隔一段时间将整个数据库写到磁盘上,每次均是写全部数据,但是代价非常高;第二种方法是②基于语句追加(aof):只追踪变化的数据,但是追加的log可能过大,同时所有的操作均重新执行一遍,恢复速度慢。
  • 2.耗内存,占用内存过高。

二、Redis能干什么

企业开发中,可以将Redis作为数据库、缓存、热点数据(经常被查询但是不被修改和删除的数据)、消息中间件等大部分功能。

Redis的常用场景实例如下:

  • 缓存
    如今缓存几乎是所有中大型网站都在用的必杀技,合理的利用缓存不仅能够提升网站的访问速度,还能大大降低数据库的压力。Redis提供了键过期的功能,也提供了灵活的键淘汰策略。

  • 排行榜
    如淘宝的月度销量榜单、商品按时间的上新排行榜等。Redis提供的有序集合数据类构能实现各种复杂的排行榜应用。

  • 计数器
    如电商网站商品的浏览量、视频网站视频的播放数等。为了保证数据实时效,每次浏览都得给+1,并发量高时如果每次都请求数据库操作无疑是种挑战和压力。Redis提供的incr命令来实现计数器功能,内存操作,性能非常好,非常适用于这些计数场景。

  • 分布式会话
    集群模式下,在应用不多的情况下一般使用容器自带的session复制功能就能满足,在应用增多相对复杂的系统中,一般都会搭建以Redis等内存数据库为中心的session服务,session不再由容器管理,而是由session服务及内存数据库管理。

  • 分布式锁
    分布式技术带来的技术挑战是对同一个资源的并发访问,如全局ID、减库存、秒杀等场景,并发量不大的场景可以使用数据库的悲观锁、乐观锁来实现,但在并发量高的场合中,利用数据库锁来控制资源的并发访问是不太理想的,大大影响了数据库的性能。可以利用Redis的setnx功能来编写分布式的锁,如果设置返回1说明获取锁成功,否则获取锁失败,实际应用中要考虑的细节要更多。

  • 社交网络
    点赞、踩、关注/被关注、共同好友等是社交网站的基本功能,社交网站的访问量通常来说比较大,而且传统的关系数据库类型不适合存储这种类型的数据,Redis提供的哈希、集合等数据结构能很方便的的实现这些功能。

  • 最新列表
    Redis列表结构,LPUSH可以在列表头部插入一个内容ID作为关键字,LTRIM可用来限制列表的数量,这样列表永远为N个ID,无需查询最新的列表,直接根据ID去到对应的内容页即可。

  • 消息系统
    消息队列是大型网站必用中间件,如ActiveMQ、RabbitMQ、Kafka等流行的消息队列中间件,主要用于业务解耦、流量削峰及异步处理实时性低的业务。Redis提供了发布/订阅及阻塞队列功能,能实现一个简单的消息队列系统。但是,这个不能和专业的消息中间件相比。

三、Redis下载与安装部署

Redis英文官网。
Redis中文网站。

由于企业里面做Redis开发,99%都是Linux版的运用和安装,所以本文仅介绍Linux下的安装与运行,Windows下的安装使用小伙伴们可以自行百度。前往上面的官网点击Download下载.gz安装包后,放在Linux下的/opt目录 (我这里安装的是Redis的6.0.5版本)。

  • 解压命令为:tar -zxvf redis-6.0.5.tar.gz

上述命令只是解压了Redis,如果想要安装Redis,需要Linux系统有gcc环境,如果没有可以使用yum install gcc-c++安装,然后使用gcc -v查看版本。

如果Linux环境已经有了gcc环境,直接使用下面的命令进行安装:

  • 安装命令为:make install

安装好默认是像Tomcat那样不能开机自启的,可以修改 redis.conf 文件中的 daemonize 属性为yes。

  • 开启redis服务:redis-server /myredis/redis.conf(此处为修改属性后的redis配置文件)

查看后台Redis服务是否启动:

  • ps -ef|grep redis

开启Redis服务:

  • redis-cli -p 6379
    在这里插入图片描述

正常关闭,数据会进行保存
在redis命令行中使用shutdown命令关闭。

非正常关闭,易导致数据丢失
断电、手动kill掉redis进程等。

几个其他的redis命令
在这里插入图片描述

四、Redis的几个小知识

Redis是一个单进程,使用单进程模型来处理客户端的请求。对读写等事件的响应是通过对epoll函数的包装来做到的。Redis的实际处理速度完全依靠主进程的执行效率。

epoll是Linux内核为处理大批量文件描述符而作了改进的epoll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。

  • Redis默认有16个数据库,下标从零开始,初始默认使用零号库,可以使用SELECT <dbid>命令连接上指定数据库。
    在这里插入图片描述

  • dbsize指令可以查看当前数据库的key的数量,keys *查看所有的key。
    在这里插入图片描述

  • flushdb:清空当前库(慎用)

  • Flushall:清空全部库(慎用)

  • 统一密码管理,16个库都是同样密码,要么都OK要么一个也连接不上。

  • Redis索引都是从零开始

  • Redis默认端口是6379

更多相关免费学习推荐:redis入门教程

Atas ialah kandungan terperinci 小记 Redis介绍与安装部署. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara Membina Mod Kluster Redis Cara Membina Mod Kluster Redis Apr 10, 2025 pm 10:15 PM

Mod Redis cluster menyebarkan contoh Redis ke pelbagai pelayan melalui sharding, meningkatkan skalabilitas dan ketersediaan. Langkah -langkah pembinaan adalah seperti berikut: Buat contoh Redis ganjil dengan pelabuhan yang berbeza; Buat 3 contoh sentinel, memantau contoh redis dan failover; Konfigurasi fail konfigurasi sentinel, tambahkan pemantauan maklumat contoh dan tetapan failover; Konfigurasi fail konfigurasi contoh Redis, aktifkan mod kluster dan tentukan laluan fail maklumat kluster; Buat fail nodes.conf, yang mengandungi maklumat setiap contoh Redis; Mulakan kluster, laksanakan perintah Buat untuk membuat kluster dan tentukan bilangan replika; Log masuk ke kluster untuk melaksanakan perintah maklumat kluster untuk mengesahkan status kluster; buat

Cara membersihkan data redis Cara membersihkan data redis Apr 10, 2025 pm 10:06 PM

Cara Mengosongkan Data Redis: Gunakan perintah Flushall untuk membersihkan semua nilai utama. Gunakan perintah flushdb untuk membersihkan nilai utama pangkalan data yang dipilih sekarang. Gunakan Pilih untuk menukar pangkalan data, dan kemudian gunakan FlushDB untuk membersihkan pelbagai pangkalan data. Gunakan perintah DEL untuk memadam kunci tertentu. Gunakan alat REDIS-CLI untuk membersihkan data.

Cara Membaca Gilir Redis Cara Membaca Gilir Redis Apr 10, 2025 pm 10:12 PM

Untuk membaca giliran dari Redis, anda perlu mendapatkan nama giliran, membaca unsur -unsur menggunakan arahan LPOP, dan memproses barisan kosong. Langkah-langkah khusus adalah seperti berikut: Dapatkan nama giliran: Namakannya dengan awalan "giliran:" seperti "giliran: my-queue". Gunakan arahan LPOP: Keluarkan elemen dari kepala barisan dan kembalikan nilainya, seperti LPOP Queue: My-Queue. Memproses Baris kosong: Jika barisan kosong, LPOP mengembalikan nihil, dan anda boleh menyemak sama ada barisan wujud sebelum membaca elemen.

Cara menggunakan perintah redis Cara menggunakan perintah redis Apr 10, 2025 pm 08:45 PM

Menggunakan Arahan Redis memerlukan langkah -langkah berikut: Buka klien Redis. Masukkan arahan (nilai kunci kata kerja). Menyediakan parameter yang diperlukan (berbeza dari arahan ke arahan). Tekan Enter untuk melaksanakan arahan. Redis mengembalikan tindak balas yang menunjukkan hasil operasi (biasanya OK atau -r).

Cara menggunakan kunci redis Cara menggunakan kunci redis Apr 10, 2025 pm 08:39 PM

Menggunakan REDIS untuk mengunci operasi memerlukan mendapatkan kunci melalui arahan SETNX, dan kemudian menggunakan perintah luput untuk menetapkan masa tamat tempoh. Langkah-langkah khusus adalah: (1) Gunakan arahan SETNX untuk cuba menetapkan pasangan nilai utama; (2) Gunakan perintah luput untuk menetapkan masa tamat tempoh untuk kunci; (3) Gunakan perintah DEL untuk memadam kunci apabila kunci tidak lagi diperlukan.

Cara membaca kod sumber redis Cara membaca kod sumber redis Apr 10, 2025 pm 08:27 PM

Cara terbaik untuk memahami kod sumber REDIS adalah dengan langkah demi langkah: Dapatkan akrab dengan asas -asas Redis. Pilih modul atau fungsi tertentu sebagai titik permulaan. Mulakan dengan titik masuk modul atau fungsi dan lihat baris kod mengikut baris. Lihat kod melalui rantaian panggilan fungsi. Berhati -hati dengan struktur data asas yang digunakan oleh REDIS. Kenal pasti algoritma yang digunakan oleh Redis.

Cara menggunakan baris arahan redis Cara menggunakan baris arahan redis Apr 10, 2025 pm 10:18 PM

Gunakan alat baris perintah redis (redis-cli) untuk mengurus dan mengendalikan redis melalui langkah-langkah berikut: Sambungkan ke pelayan, tentukan alamat dan port. Hantar arahan ke pelayan menggunakan nama arahan dan parameter. Gunakan arahan bantuan untuk melihat maklumat bantuan untuk arahan tertentu. Gunakan perintah berhenti untuk keluar dari alat baris arahan.

Cara Mengkonfigurasi Masa Pelaksanaan Skrip Lua di Centos Redis Cara Mengkonfigurasi Masa Pelaksanaan Skrip Lua di Centos Redis Apr 14, 2025 pm 02:12 PM

Pada sistem CentOS, anda boleh mengehadkan masa pelaksanaan skrip LUA dengan mengubah fail konfigurasi REDIS atau menggunakan arahan REDIS untuk mengelakkan skrip jahat daripada memakan terlalu banyak sumber. Kaedah 1: Ubah suai fail konfigurasi Redis dan cari fail konfigurasi Redis: Fail konfigurasi Redis biasanya terletak di /etc/redis/redis.conf. Edit Fail Konfigurasi: Buka fail konfigurasi menggunakan editor teks (seperti Vi atau nano): sudovi/etc/redis/redis.conf Tetapkan had masa pelaksanaan skrip lua: Tambah atau ubah suai baris berikut dalam fail konfigurasi untuk menetapkan masa pelaksanaan maksimum skrip lua (unit: milidor)

See all articles