Redis笔记

一、安装
1)http://redis.io 下载 redis-2.8.23.tar.gz,上传到服务器 /usr/local/
2)tar -zxvf redis-2.8.23.tar.gz 解压缩至redis-2.8.23
3)cd  redis-2.8.23
4)make
5)redis改为守护进程。修改redis-2.8.23/redic.conf 42行 daemonize no 改为 daemonize yes
6)使用命令启动 src/redis-server redis.conf启动服务端
7)查询redis服务 ps -ef|grep redis
8) 启动客户端 src/redis-cli

二、Redis命令
KEYS* 查看所有的key
TYPE key 查看key的类型
EXISTS key 判断是否存在
DEL key 删除key

A 字符串类型
赋值 取值
SET key value
GET key
递增数字
INCR key
增加指定的整数
INCRBY key value
减少指定的整数
DECRBY key value
向尾部追加字符
APPEND key value
获取字符串长度
STRLEN key
同时设置/获取多个值
MSET [key1 val1 key2 val2 ......]

B Hash类型
赋值 取值
HSET key field value
HGET key filed
HGETALL key
增加
HINCRBY key field increment

C List类型
向列表两端插入数据
LPUSH key value[...]
RPUSH key value[...]
从两端弹出数据
LPOP key
RPOP key
获取列表长度
LLEN key
获取指定范围的数据
LRANGE key start stop  start/stop可以是负数,也就是从右往左计数
lrange arr -1 -10 从右边第一个元素到第十个元素
lrange arr 0 -1 获取全部元素
设置指定index的值
LINDEX key index 获取指定index的值 相当于get(index)
LSET key index value
保留指定范围的数据
LTRIM key start stop  ltrim和lpush经常一起使用,比如保留最新的100条记录 lpush log XXXXX ltrim 0 99
插入数据
LINSERT key BEFORE|AFTER pivot value   // linsert nums after 2 3 在值为2的元素后面插入3   

D Set类型
增加一个元素,重复数据不加入
SADD key  member
删除一个元素
SREM key member 
返回所有元素
SMEMBERS key 
是否存在
SISMEMBER key  member 
key1与key2的差集 属于key1,但不属于key2的元素
SDIFF key1 key2 
key1与key2的交集
SINTER key1 key2
key1与key2的并集 
SUNION key1 key2 
集合中元素的个数
SCARD key1 
随机获取count个元素
SRANDMEMBER key count 
 
E 有序集合类型
加入分数、元素 
ZADD key score member 
获取分数 
ZSCORE key member 
获取范围内的元素[分数] 
ZRANGE key start stop [WITHSCORES] 
获取一定分数范围内的元素 
ZRANGEBYSCORE key min max  [WITHSCORES] 
增加某个元素的分数 
ZINCRBY key value member 
元素的个数 
ZCARD key 
分数范围内的个数 
ZCOUNT key min max 
删除元素 
ZREM key member
获取元素的排名
ZRAND key member

F 事务
1)MULTI
     todo
EXEC
2)错误处理
语法错误,有一条发生错误,就不会执行所以命令
运行错误,不执行错误的这条命令,其他正常

G 生存时间
EXPIRE key seconds 单位秒
TTL key 查看剩余有效时间
PERSIST key 设为永久有效

H排序
SORT key BY DESC LIMIT start size 排序分页
list排序
SORT uid BY user_level_* GETuser_name_* GET user_level_* GET#
hash排序
sort uid by user_info_*->level get user_name_*

如果使用redis sort排序的不是数字,是字母,将他们按照字典的顺序排名,则需要使用
sort jihe alpha
如果不加alpha参数,则会报错,提示:(error) err one or more scores can't be converted into double。

J 综合使用
List与String结合使用
lpush useridlist 1
set userinfo:1:username liu
set userinfo:1:logintimes 1
set userinfo:1:userlevel 1
## 根据用户名排序
sort userinfo:idlist by userinfo*->username desc get userinfo:*:username

List与Hash结合使用
lpush useridlist 1
hset user:1:allinfo logintimes 1
hset user:1:allinfo username jerry
hset user:1:allinfo logintime 1448266408779
## 根据用户名排序
sort user_id_list by user:*:allinfo->username alpha get user:*:allinfo->username


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值