1. 简介
Redis是一个高性能的并且开源的使用key-value保存数据的NoSql数据库,它的特点包括:
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
- Redis支持数据的备份,即master-slave模式的数据备份。
- 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
- Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
- 丰富的特性,Redis还支持 publish/subscribe, 通知, key 过期等等特性。
2. 应用场景
- 缓存
- 任务队列
- 应用排行榜
- 网站访问统计
- 数据过期处理
- 分布式集群架构中的session分离
3. Linux下安装
#安装gcc环境,因为redis是c++写的
apt-get install gcc
# 下载最新的安装包
wget http://download.redis.io/releases/redis-4.0.9.tar.gz
# 解压
tar -zxvf redis-4.0.9.tar.gz
cd redis-4.0.9/
#编译
make
4. 启动
cd src
#前端启动,进去以后不能操作linux了
./redis-server
#后端启动,需要配置${REDIS_HOME}/redis.conf,将 daemonize no 改为 daemonize yes,设置为后台运行
# 然后加上配置项启动
cd ..
./src/redis-server redis.conf
5. 停止
./src/redis-cli shutdown
6. 进入redis客户端
./src/redis-cli
#进入客户端了,可以看到端口号6379
127.0.0.1:6379>
7. 增删查改数据
127.0.0.1:6379> set name wangjun
OK
127.0.0.1:6379> get name
"wangjun"
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379> set name wangjun2
OK
127.0.0.1:6379> get name
"wangjun2"
127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379>
8. Redis基础特性
-
多数据库:
一个Redis实例最多提供16个数据库(类似mysql的多个数据库),下标0-15,默认连接0数据库。
通过select n 选择数据库。
-
事务:
一次提交多条记录,multi:开始事务;exec:提交事务;discard:回滚事务。
127.0.0.1:6379> get age "28" 127.0.0.1:6379> multi OK 127.0.0.1:6379> incr age QUEUED 127.0.0.1:6379> incr age QUEUED 127.0.0.1:6379> exec 1) (integer) 29 2) (integer) 30 127.0.0.1:6379> get age "30" 127.0.0.1:6379> multi OK 127.0.0.1:6379> incr age QUEUED 127.0.0.1:6379> incr age QUEUED 127.0.0.1:6379> discard OK 127.0.0.1:6379> get age "30"
参考:
网友评论