目录
一、Redis简介
Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。
它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区
Redis用途:数据库 、 缓存
二、Linux上安装Redis
上传并解压redis
tar -zxvf redis-5.0.0.tar.gz
注意:redis与tomcat的最大不同,redis的使用需要gcc
安装gcc
yum install gcc
编译redis
进入redis的解压目录,执行命令make
修改redis为守护进程
备份redis.conf文件
cp redis.conf redis_bak.conf.bak
修改redis.conf文件,将daemonize no 改为 daemonize yes
vi redis.conf
当链接根据不能直接打开文件编辑,name需要通过 /查询的关键字 快速查找
启动redis
./src/redis-server redis.conf
测试redis启动是否成功
./redis-cli
ping
开放端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
授权,允许远程连接
Linux在文件中查找关键字,先"/" 然后"关键字" 再enter;"n"指找下一个
修改redis.conf
注释:bind 127.0.0.1
修改:requirepass 123456
杀掉redis进程
kill -9 进程pid
启动redis.conf的新配置
./src/redis-server redis.conf
客户端redis-cli链接redis,重新测试
./src/redis-cli -h 端口号 -p 6379 -a password
redismanager链接测试成功
三、Redis的常用命令
Redis字符串(String)
set 增
del 删
set 改
get 查
type key 查看类型
keys *或keys key 查看所有或者指定的key
keys *SETEX KEY_NAME TIMEOUT VALUE 给键值对设置过期时间
setex zs 60 live
ttl key 获取键值对剩余的存活时间
Redis哈希(Hash)
Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。
hset key field1 value1 [field2 value2]
同时将多个field-value设置到哈希表key中
hset user name zs age 12 sex nv
hget key field 获取指定的字段值
hget user age
hdel key field 删除指定的字段值
hdel user age
hgetall key 查询指定key的所有字段
hgetall user
hexists key field 查询指定key中的字段是否存在
hexists user name
hlen key 获取指定key中的长度
hlen user
Redis列表(List)
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
lpush key value1 value2 value3 将一个或多个值插入到列表头部
lpush en a b c d e f g
llen key 获取列表的长度
llen en
lindex key index 根据索引获取列表中的元素
lindex en 1
返回f,说明下标从0开始,同时先进后出
lrange key start sop 查看指定范围内的元素
lrange en 1 3
返回fed,说明下标从0开始,同时先进后出
Redis集合(Set)
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
sadd key value1 [value2] 向集合添加一个或多个元素
scard key 获取集合中的元素数量
exists key 是否存在