Redis命令操作
点击学习Redis
- Redis简介
Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。
它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,
同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区
学习网址:Redis教程_w3cshool
Redis中文官方网站:www.redis.cn
Redis中文网:www.redis.net.cn
Redis用途:① 数据库 ② 缓存
和以前学的ehcache类似
非关系型数据库
基于文件:ehcache
基于内存:redis、memcached
基于文档:mongodb
Redis服务端的安装
在Linux基础上进行安装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压缩包)
离线下载方式:
把提前下好的jar放入文件中,
对文件进行解压:tar -zxf
解压成功:
查看该文件夹:cd redis-5.0.2
启动命令在src,启动前先进行编译(进入文件夹中)
make
启动命令在src下,首先我们先进入src中查看
cd src/
ll
启动:./src/redis-server
如果出现如下图形,则是redis服务端已经安装好了
设置守护线程
伴随着主线程的结束而结束
设置守护线程原因:在Linux上不可能只操作redis,可能操作mysql启动Tomcat等其他,在该上面操作之后不能打任何命令,不能成效。我们需要仅能启动redis,又能够操作其他的Linux软件。我们必须去设置守护线程,能够让多个进(线)程同时使用
退出Ctrl+c
出现如下
在redis.conf设置,设置的时候就要对文件进行修改,修改时我们有可能修改错了,可能要回归到之前的版本,所以我们要对其备份:cp redis.conf redis_bak.conf
备份成功:
当你修改错误的时候就要改错的删掉然后再把备份的改为原名就行啦
进入vi redis.conf
该文件进行改动/daem
按n查找下一个,默认守护进程是没有开启的,
按Insert键把它改成yes,按esc退出:wq
保存退出
再启动
./src/redis-server redis.conf
验证是否连接启动
./src/redis-cli
没有连接成功
vi redis.conf
设置本地端口,找到/bind 127.0.0.1
按Insert进入加#,esc退出,:wq
保存退出
./src/redis-server redis.conf
ll
失败则把修改错了的redis文件删除
rm -rf redis.conf
把之前备份的文件再次备份cp redis_bak.conf redis.conf
验证是否连接./src/redis-cli
代表成功
redis安装完成
安装redis客户端
需要服务端做设置才能安装
傻瓜式安装
下载成功后打开
需要授权连接
在vi redis.conf
设置密码
目前edis服务端只能被本地客户端所连接
解绑本地设置,给注释掉/bind 127.0.01
加上#
设置密码requirepass
:wq 退出保存
再次启动./src/redis-server redis.conf
重启redis或ubuntu
service redis-server restart
#reboot
cd /myy/redis-5.0.2
./src/redis-server redis.conf
./src/redis-cli
验证连接失败
连接成功
去测试:如下是连接成功
redis的常用数据存储
Redis支持五种数据类型
string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)
通过命令操作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
记得右击Reload刷新 或者ctrl+r,可以看出hash存储的是对象
列表(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] #使用游标获取集合中的值
smembers key #查看集合中所有的元素
srem key value #删除结合中指定的元素
exists key #检查key是否存在