redis启动
./redis-server /usr/local/redis/etc/redis.conf
检查是否启动成功
ps -ef|grep redis 检查服务是否启动成功
netstat -tunpl|grep 6379 检查redis端口是否占用
关闭redis服务
pkill redis-server
./redis-cli shutdown
Redis常用命令
1.键值相关命令
2.服务器相关命令
1)键值相关命令
keys 返回满足给定pattern所有的key
keys * 返回所有的key
exists 确认一个key是否存在 exists name
del 删除一个键
expire 设置一个key的过期时间 expire name 10
ttl 查看当前key还有多长时间过期 ttl key
move 将当前数据库中的key转移到其他数据库中(移动过去原来的就不存在了 相当于mv命令)
persist 取消了过期时间 (和expire对立)
randomkey 随机返回key空间的一个key randomkey
rename 重命名key
type 返回key的数据类型
2)服务器的相关命令
ping 测试客户端与服务器的连接是否正常
echo 在命令行打印一些内容
select 选择数据库 Redis数据库编号从0-15 我们可以选择任意一个数据库来进行数据存储
quit 退出客户端 (exit也一样)
dbsize 返回当前数据库中所有key的数目
info 获取服务器的信息和统计
config get 实时传储收到的请求 返回相关配置参数
flushdb 删除当前选择数据库中所有的key
flushall 删除所有数据库中的所有key
Redis的高级应用
1)安全性
2)主从复制
3)事务处理
4)持久化机制
5)发布订阅消息
6)虚拟内存的使用
1)安全性
设置客户端连接后进行任何其他指定前需要使用密码
设置口令:配置文件修改 requirepass参数
授权方法:
auth password 用命令登录
redis-cli -a password 登录的时候指定登录密码
2)主从复制
通过主从复制可以再从服务器复制主服务器数据库副本
1.master可以拥有多个slave
2.多个slave可以连接同一个master,还可以连接其他的slave
3.主从复制不会阻塞master,在同步数据时,还可以同步client请求
4.提高系统的伸缩性
主从复制过程:
从服务器配置:
服务器配置文件中配置
1)slaveof 192.168.157.4 #指定master的ip和端口
2)masterauth beijing #主机密码
通过info命令来判断自己的角色是主机还是从机
3)事务处理
multi 打开事务 执行命令不会立即执行
exec 提交命令 (相当于数据库中的commit)
discard 取消事务命令队列 并退出上下文
乐观锁的复杂事务控制
watch age 监视给定的key 上锁 如果期间key值有改变 则无法更新最新的值
unwatch 清楚所有的锁
4)持久化机制
Redis是一个支持持久化的内存数据,所以需要经常将内存中的数据同步到硬盘来保持持久化
1)snapshotting(快照)也是默认方式
2)Append-only file(缩写aof)的方式
5)发布与订阅信息
subscribe tv1 监听频道
publish tv1 lijielamp
6)虚拟内存的使用
Redis的虚拟内存的使用 就是把不经常访问的数据从内存交换到磁盘中