Redis的简单介绍
Redis是 REmote DIctionary Server的缩略语,是一种 Key-Value型的NoSQL。
Redis特征
基于内存
所有的数据保存在内存上,因此可以提供更快的更新和参照。
永久化(快照方式)
虽然数据保存在内存上,但同样可以提供永久化的数据保存机制。通过定期(或者设定的更新条件)将内存上的数据dump成(.rdb)格式的文件快照,服务器再启动时,只需将快照内容读到内存上。实现数据的复原。
具有多种数据保存形式
String(文字列)
List(列表)
Set(不重复的集合)
Sorted Set(排序过的SET)
Hash(連想配列)
和Memcached的区别
用途上
Memcached主要是为数据库查询的结果提供二级缓存机制,实现快速get,set。
Redis本身具有数据存储机制,另外提供数据更新,参照,管理用的100中以上的命令。
数据上
Memcached只提供缓存机制,因为采用LRU(Least Recently Used)机制,会自动将旧的数据删除。
Redis除非用命令主动删除或者设置timeout自动删除,保存的数据是不会主动被删除的。
Redis的安装与配置
安装
Centos7
yum list | grep redis
sudo yum -y install redis
起動
sudo systemctl start redis.service
或 sudo service redis start
确认
redis-cli -v #版本确认
redis-cli info | grep redis_version
redis-cli ping #动作确认 ⇒ redis回复 PONG
配置
sudo systemctl enable redis.service #随系统自動起動
redis.conf 設定
场所;/etc
daemonize yes #daemonize 模式设定
logfile /var/log/redis.log #log出力目录指定
loglevel notice #出力水平指定
dir /usr/local/redis/ #.rdb文件的保存场所指定
Redis的一些命令
确认命令
ps -ef | grep [r]edis #redis程序存在确认
netstat -tln | grep 63* #6309监听端口确认
systemctl status redis #服务器运行状态确认
which redis-server #服务器安装场所确认
操作实验
% redis-cli
127.0.0.1:6379> select 0 # 访问0号DB(可以在conf文件中设置DB个数)
OK
127.0.0.1:6379> keys * # 显示已登陆的所有Key
(empty list or set) # 服务器初次建立内容为空
127.0.0.1:6379> set name namae # 指定一个Key写入Redis
OK
127.0.0.1:6379> keys *
1) "name" # 上面写入的Key会列举出来
127.0.0.1:6379> get name # 通过Key得到Value
"namae"
127.0.0.1:6379> del name # 删除Key
(integer) 1
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set test_id 1
OK
127.0.0.1:6379> get test_id # 取得Key
"1"
127.0.0.1:6379> incr test_id # 实现value的自增
integer) 2
127.0.0.1:6379> incr test_id
(integer) 3
127.0.0.1:6379> incr test_id
(integer) 4
127.0.0.1:6379> get test_id # 确认到Key值的自增
"4"
127.0.0.1:6379> decrby test_id 4 # 实现Key值的自减(数字指定减幅)
(integer) 0
127.0.0.1:6379> get test_id
"0"
127.0.0.1:6379> keys *id* # 查找包含id的所有key
1) "test_id"
127.0.0.1:6379> exists test_id # 命令确认Key是否存在
(integer) 1
127.0.0.1:6379> exists test_id_2
(integer) 0
127.0.0.1:6379> get hoge # 取不存在Key的value
(nil) # 返回nil
127.0.0.1:6379> exit # 退出