1、redis安装
wget http://download.redis.io/releases/redis-3.0.0.tar.gz 下载
tar -vxzf redis-3.0.0.tar.gz 解压
cd redis-3.0.0
make 编译
make PREFIX=/usr/local/redis/ install 安装
cp redis.conf /usr/local/redis 复制文件
./redis-server 前端启动
vim redis.conf 后端启动 wq保存
daemonize no改为daemonize yes
./bin/redis-server ./redis.conf 启动
ps -ef | grep -i redis 6379端口
./bin/redis-cli shutdown 停止
./bin/redis-cli 客户端
ping 连接测试 pong
set name imooc 保存 name(key)
get name 获得
keys * 获得全部
del name 删除
redis五种数据类型
字符串String
哈希hash
列表list
集合set
有序字符串集合sorted-set
1、String
incr num 将num的值加一如果不存在,先初始化后加一
decr num 递减
incrby num 5 加5
decrby num 6 减3
append num 5 追加字符串
2、hash
hset myhash username jack hash键值对的形式加数据
hmset myhash username root age 21 多个数据录入
hget myhash username获得
hmget myhash username age获得多个
hgetall myhash 获得所有
hdel myhash2 username age删除
del myhash2删除集合
hincrby myhash age 5加五
hexists myhash username 判断存在否返回 0,1
hlen myhash 长度
hkeys myhash 所有key
hvals myhash 所有value
3、list
arraylist linkedlist
lpush mylist a b c 左端添加
rpush mylist 1 2 3 右端添加
lrange mylist 0 5 分段查看 0 -2也可以
lpop mylist 弹出左边
rpop mylist 淡出右边
lpushx mylist x 向mylist添加,如果mylist不存在不添加
lrem mylist 2 3 删除两个3, -2 3 从尾部删除2个三,0 2 删除所有的2
lset mylist 0 2指定位置添加
linsert mylist defore b 11指定元素位置前添加
linsert mylist after b 11指定元素位置后添加
rpoplpush mylist mylist2将mylist的元素弹出一个加到mylist2(消息队列)
4、set(记录ip ,记录某个商品的购买记录,)
sadd myset a b c添加
srem myset a b 删除
smembers myset 查看
sismember myset a 查看是否存在
adiff myset1 myset2 查看差集
sinter myset1 myset2 查看交集
sunion myset1 myset2 查看并集
scard myset 查看长度
srandmenber myset 随机返回一个数
sdiffstore myset1 myset2 myset1 将1和2相差的值加到1
sinterstore myset1 myset2 myset1 将1和2交集的值加到1
sunionstore myset1 myset2 myset1 将1和2并集的值加到1
5、sorted-set有序(分数排序 游戏积分排名,微博热点,索引数据)
zadd mysort 70 zz 80 ls 90 ww 添加
zscore mysort zs 获得分数
zcard mysore 获得数量
zrem mysort tom ww 删除
zrange mysort 0 -1 withsores 查看数据,withsores带不带分数
zrevange mysore 0 -1 withsores 降序
zremrangebyrank mysort 0 4按照范围删除
zremrangebyscore mysort 80 100按照分数范围删除
zrangebyscore mysore 0 100 withsores limit 0 2查看指定范围的数据切带分数和limit
zincrby mysort 3 ls给指定对象分数加3
zcount mysort 80 90 分数段的数量
通用操作
key * 获得所有
key my?查看my匹配的key
del my1 删除
exists my1 判断是否存在
get company 获取
rename company newcompany 重命名
expire newpany 1000 过期时间1000秒
ttl newcompany查看过期时间
type mylist查看类型
redis特性
多数据库,最多16个数据库
select 1(0到15)连接1号数据库
move myset 1移动myset到1号数据库
redis事务
multi exec discard
multi开启
exec提交
discard回滚
redis持久化
RDB:指定时间间隔,将内存数据写入硬盘
AOF:日志记录所有的操作
无持久化:缓存