Linux环境下:
1、redis安装
下载 wget http://download.redis.io/redis-stable.tar.gz
解压 tar xvf redis-stable.tar.gz
进入解压目录 cd redis-stable/
无需配置直接编译 make
执行安装 make PREFIX = /usr/local/redis install
进入安装目录下 cd /usr/local/redis/bin
复制redis.conf 文件到 /usr/local/redis目录下 [root@localhost redis]# cp /software/redis-stable/redis.conf ./
使用vim修改配置文件redis.conf
daemonize no --> daemonize yes
启动redis服务(注意要写相对路径或者绝对路径)
[root@localhost redis]# ./bin/redis-server redis.conf
查看服务是否启动 netstat redis|grep 6379
客户端连接redis服务 :语法 : 连接命令 -h 主机ip -p 端口号,如果是本地 redis-cli 是连接命令。
关闭redis服务 redis-cli shutdown 或者 pkill redis-server 以及 killall redis-server
2、数据类型操作
String字符串:set age 11, get age如果get 值为空的返回(nil) incr age 值加加 每执行一次加一 指定加多少 用incrby age 20
hash哈希:hset user:id:1 id 1 name pff age 25 email pff@qq.com hget user:id:1 name hmget user:id:1 id name age email 获取全部值 hgetall user:id:1
list链表:list 如果从头部添加数据进去,则是类似栈,先进后出的特点;如果从尾部添加数据进去,则是类似队列,先进先出。从头部添加命令:lpush list1 test1 、lpush list1 test2 、 lpush list1 test3 /取数据时候 lrange list1 0 -1 (0是开始下标 -1是结束下标 当结束下标是-1时候 代表取出所有数据)。从尾部添加数据命令:rpush list2 test1 、rpush list2 test2、rpush list2 test3 lrange list2 0 -1。 Itrim list2 0 1 这是指保留 0 到 1 下标的元素 ,其他元素删除。lpop list1 这是指将头部的元素删除。
案例:如果要取出一个网站的最新10个用户的信息,用SQL操作:select * from user order by time desc limet 10; 用redis操作 每次登入进来执行 lpush user **** 再执行ltrim user 0 9 保证只存10个元素。
set集合: sadd set1 test1、 sadd set1 test2 、sadd set1 test3 、 sadd set1 test4 / sadd set2 test3、 sadd set2 test4、 sadd set2 test5、 sadd set2 test6、sdiff set1 set2 (求差集) smembers set1 (列出所有数据) sinter set1 set2 (求交集) sunion set1 set2 (求并集) scard set1 (求set1 集合的数量)
zset有序集合:zadd set1 10 xiao1 、 zadd set1 15 xiao2 、 zadd set1 8 xiao3、zadd set1 20 xiao4 ,zrange set1 0 -1(按升序取出全部元素) zrevrange set1 0 -1(按照降序取出全部元素)
=====================================================================================================================================================================
redis常用命令:keys * /keys user* 、 exists name是否存在name 这个键 、del name 删除name键 、expire name 60 指定name键 60秒过期 、ttl name 查看name过期时间、type set1 返回什么类型 、redis默认有0-15号数据库 可以根据select 1 切换数据库、
、dbsize 返回当前数据库的键个数、flushdb清空当前所在数据库的键 、flushall清空所有数据库的键、
redis安全认证 :修改redis.conf 扎到requirepass 修改密码 把#去除,然后添加明文密码,添加密码后登入有两种方式:1、redis-cli -a 密码 ;2、redis-cli 正常登入后 再输入 "auth 密码” 这命令。
=====================================================================================================================================================================
redis持久化机制
有两种:1:、snapshotting 快照方式,该持久化默认开启,一次性把redis中全部数据保存到硬盘中(备份文件默认名字是dump,rdb)如果数据量大就不适合频繁进行该持久化操作。有三个触发条件,在配置文件中可以找到 save 900 1 、save 300 10 、save 60 10000
在配置文件中还可以指定dump.rdb文件名和存储地址。也可以手动发起快照,1、在登入的状态 直接执行 bgsave命令。2、在登入时候 直接输入 redis-cli bgsave 命令。
2、append-only-file 追加方式持久化AOF 可以修改redis.conf 中配置 appendonly yes ; appendfilename "appendonly.aof" 文件名 ;存储方式是以下三种:# appendfsync always appendfsync everysec # appendfsync no。
aof文件的重写:在登入时候 redis-cli bgrewirteaof。