点击打开Redis教程
1. Redis简介
Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。
它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,
同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区
Redis用途:1. 数据库 2. 缓存
和以前学的ehcache类似
非关系型数据库
基于文件:ehcache
基于内存:redis、memcached
基于文档:mongodb
redis的服务端安装
yum install gcc-c++(gcc编译c的,因为redis是c编写的,所以我们先安装下gcc)
这样就安装完毕了
在线安装
yum -y install wget
wget http://download.redis.io/releases/redis-5.0.2.tar.gz(wget方式 下载redis压缩包)
离线安装
先把压缩包导入服务器
Tar -zxvf redis-5.0.2.tar.gz(解压)
cd redis-5.0.2/(进入目录)
make(编译)
执行:./src/redis-server
服务端已经安装好了
然后
设置守护线程
伴随着主线程的结束而结束
设置守护线程原因:在Linux上不可能只操作redis,可能操作mysql启动Tomcat等其他,在该上面操作之后不能打任何命令,不能成效。我们需要仅能启动redis,又能够操作其他的Linux软件。我们必须去设置守护线程,能够让多个进(线)程同时使用
首先按住ctrl+c退出
然后就可以输入了
在redis.conf设置,设置的时候就要对文件进行修改,修改时我们有可能修改错了,可能要回归到之前的版本,所以我们要对其备份:cp redis.conf redis_bak.conf
当你修改错误的时候就要改错的删掉然后再把备份的改为原名就可以恢复了
失败则把修改错了的redis文件删除rm -rf redis.conf
把之前备份的文件再次备份cp redis_bak.conf redis.conf
进入vi redis.conf
该文件进行改动/daem
按n查找下一个,默认守护进程是没有开启的
按Insert键把它改成yes,按esc退出:wq保存退出
同上
vi redis.conf设置本地端口,找到/bind 127.0.0.1
按Insert进入加#,esc退出,:wq保存退出
再启动./src/redis-server redis.conf
./src/redis-cli -h 127.0.0.1(有云服务就填云服务的ip) -p 6379 -a Ljy@2000
验证是否连接启动./src/redis-cli
配置密码登录
vi /etc/redis/redis.conf #编辑redis配置文件
#找到下面这一行并去除注释,并添加密码(396行)
#requirepass foobared #修改前
requirepass 123456 #修改后
注1:配置完成密码后,以后登录就密码按下面的命令进行登录
./redis-cli -h 127.0.0.1 -p 6379 -a 123456
安装redis客户端
傻瓜式安装
需要授权连接
在vi redis.conf
设置密码
#找到下面这一行并去除注释,并添加密码(396行)
#requirepass foobared #修改前
requirepass 123456 #修改后
注意不要注释掉了
常用数据存储
Redis支持五种数据类型
string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)
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
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是否存在
显示1 的就表示删除成功
以上都可以使用