目录
一、Redis简介
Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。
它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,
同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区
Redis用途:1. 数据库 2. 缓存
集群:哨兵、主从、分片式
下载
redis-5.0.0.tar.gz(linux)
Redis-x64-3.2.100.msi(window安装版)
Redis-x64-3.2.100.zip(window解压版)
二、Redis安装
1.解压redis
tar -zxvf redis-5.0.0.tar.gz
2.安装gcc
yum install gcc
3、编译redis
cd /redis-5.0.0
make
4、修改redis.conf文件
cp redis.conf redis_bak.conf
将daemonize no 改为 daemonize yes
5、启动redis
①
./src/redis-server redis.conf
②./redis-server …/redis.conf
不支持第一种安装方式
6、测试redis启动是否成功
./redis-cli
ping
7、修改为有密码连接
#查看redis进程:
ps -ef | grep redis
yum install -y lsof
lsof -i:6379
#杀掉redis进程:kill -9 进程pid
1.修改redis.conf
注释:bind 127.0.0.1
修改:requirepass 123456
2.杀掉redis进程
3.启动redis.conf的新配置
./src/redis-server redis.conf
8、客户端redis-cli链接redis
./src/redis-cli -h 127.0.0.1 -p 6379 -a 123456
ping
三、redis命令
1、Redis字符串(String)
set key //保存
set name zs
set age 12
set sex nan
get key //获取
get name
type key //查看类型
type age //string 说明type返回的是键值对存储类型,而不是值存储类型
keys *或keys key //查看所有或者指定的key
keys *
SETEX KEY_NAME TIMEOUT VALUE // 给键值对设置过期时间
setex zs 60 live
ttl key // 获取键值对剩余的存活时间
ttl zs
①设值
②删除值
③修改值
④拿值
⑤ttl
用户默认永久时间
60秒
2、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
①设值
②删除值
③查询值
④设置值
3、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开始,同时先进后出
4、Redis集合(Set)
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
sadd key value1 [value2] #向集合添加一个或多个元素
sadd hobby lanqiu zuqiu bingpangqiu zhuoqiu
scard key #获取集合中的元素数量
scard hobby
exists key #是否存在
exists hobby