Redis 解析以及一些常用命令

概述

redis 是一种支持分布式的 nosql数据库,她的数据是保存在内存中,同时redis 可以定时把数据同步到磁盘,既可以将数据持久化,并且他比memcached支持更多的数据结构(string, list, set, sorted set, hash表 )
相关参考文档 http://redisdoc.com/index.html

使用场景

1.登陆会话存储,存储在redis中,与memchached相比,数据不会丢失。
2.排行榜、计数器,例如文章点击量、点赞数等。
3.作为消息队列,celery使用redis作为中间人
4.当前在线人数
5.一些常用的数据库缓存,比如bbs论坛,板块不会经常变化,但是每次访问首页都要从mysql中获取,可以在 redis中缓存起来,不用每次都请求数据库。
6.把前200篇文章缓存或评论缓存,一般用户浏览网站,只会浏览前面一部分文章或者评论,那么可以把前面200篇文章和对应的评论缓存起来,用户访问超过的,就访问数据库,并且以后文章超过200篇,就把之前缓存在redis数据库的文章删除一部分
7.好友关系:微博的好友关系使用redis实现。
8.发布和订阅功能,可以用来做聊天软件。

redis 和memcached比较

memcachedredis
纯内存数据库内存磁盘同步数据库
在定义value的时候要固定数据类型不需要固定数据类型
不支持虚拟内存支持虚拟内存
支持过期策略支持过期策略
不支持存储数据安全可以将书同步到dump.db中
不支持灾难恢复可以将磁盘中的数据恢复到内存中
支持分布式支持主从同步
不支持订阅与发布支持订阅与发布

语法部分

字符串操作

设置attr 的值为1 过期时间60秒

set attr 1 EX 60 

查看过期时间

ttl sttr

(integer) 16 # 还剩16秒过期

设置过期时间 (30秒后过期)

expire attr 30 

查看所有键值对

 keys  *

删除键值对

del attr   #键名

列表操作

从左侧插入列表

lpush website baidu.com

从右侧插入列表

rpush website google.com

查看列表(从第一个到最后一个)

lrange website 0 -1 

1)“baidu.com
2)“google.com

移除website列表头元素

lpop  website 

移除website尾元素

rpop website

移除key中的count个元素

lrem key count value
Irem website 1 baidu.com   #移除列表中的一个baidu.com 元素

查看列表长度

llen website

集合操作

与列表的不同:
1.集合是无序额
2.集合保存同一个元素只能保存一份

插入数据(若集合不存在会自动创建)

sadd key member
sadd team duiyuan1

查看集合元素

smemebers 集合名
smemebers team

移除元素

screm 集合名 元素名
screm team yaoming 

查看元素总数

scard 集合名
scard team

求多个集合交集

sinter set1 set2

求多个集合并集

sunion set1 set2

求多个集合差集

sdiff set1 set2 

哈希操作

相当于python中的字典,key —value 形式

添加一个新值

hset  field key value 
例如:
hset website baidu baidu.com 

查询值

hget 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值