Redis简介
Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。
它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,
同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区
学习网址:
https://www.w3cschool.cn/redis/
www.redis.cn
www.redis.net.cn
Redis用途:1. 数据库 2. 缓存
基于内存存储的数据库
redis
memcache
- Redis支持五种数据类型
string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)
安装
Redis从一开始就只支持Linux,后面虽然有团队搞出Window版本,但是我还是建议大伙安装到Linux中。
准备工作 VMware 以及Xshell
https://redis.io/
redis官方安装教程,但是比较简单,不适合生产环境的安装部署;我们这边详细点,
第一步:安装gcc
gcc编译c的,因为redis是c编写的,所以我们先安装下gcc
yum install gcc-c++
第二步:wget方式 下载redis压缩包,并解压,以及编译
下载
wget http://download.redis.io/releases/redis-3.2.9.tar.gz
解压
tar -zxvf redis-3.2.9.tar.gz
进入make
已经有redis
cd回到root,我们需要把一个配置文件 复制到 redis下 后台启动用到
[root@bogon redis-5.0.2]# cp redis.conf redis_bak.conf
启动和关闭redis服务
**[root@bogon redis-5.0.2]# ./src/redis-server redis.conf **
出现这种图标,说明启动成功;
但是 ,这种启动是前端或者前台启动,假如退出 程序就终止或者退出了。
所以这种服务程序,必须后端运行;
我们通过修改配置文件redis.conf
操作,
我们ctrl+c 退出当前程序;
/相当于Ctrl+F
n是查找下一个
把no改成yes
esc退出 !wq保存;
然后进入redis目录,然后加载配置文件运行;
启动服务
开放端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
跟新防火墙规则
firewall-cmd --reload
防火墙列表
firewall-cmd --zone=public --list-ports
防火墙状态
systemctl status firewalld
启动防火墙
systemctl start firewalld
redis基本使用
- 可视化管理工具redis-desktop-manager安装与配置
双击redis-desktop-manager-0.8.8.384.exe即可
使用可视化管理工具之前:
配置远程登录
#找到下面这一行并去除注释,并添加密码(396行)
#requirepass foobared #修改前
requirepass 123456 #修改后
重启redis或ubuntu
service redis-server restart
#reboot
注1:配置完成密码后,以后登录就密码按下面的命令进行登录
./redis-cli -h 127.0.0.1 -p 6379 -a 123456
redis 基本操作
说明: 这里是使用 redis-cli 进行命令行操作
通过命令操作redis(命令不区分大小写)
redis默认的数据库有16,mongodb是3个:admin/local/test
redis-cli #打开redis终端
select index #选择指定的数据库,默认的数据库有16,mongodb是3个:admin/local/test
#字符串
set name #保存
get name #获得
type name #查看类型
keys *
del name
#哈希(Hash),Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象
hset key attr1 value1 attr2 value2
hget key attr1
hgetall key
#列表(List)
lpush key value1 value2 value3
llen key
lindex key index
lrange key start stop #stop可以为-1,到末尾的意思
#Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
sadd key value #sadd idcard 100
sadd key value1 value2 vlaue3
scard key
sscan key cursor [MATCH pattern] [COUNT count]
exists key #检查key是否存在
over