redis学习

Posted 宋发准

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis学习相关的知识,希望对你有一定的参考价值。

1.开源的.
2.高性能.写:每秒11万次.存:8万.内存数据库.支持数据持久化.
3.基于key value 存储的.可以根据key获取value.
4.支持主从备份
5.value可以有多种,字符串,hash(man),列表(list),集合(set),有序集合(sorted set).

 

使用场景:
1.取最新的n个草走.
2.排行榜,取top n个数据.//最佳人气
3.精确的设置过期时间.//验证码
4.计数器//登录用户个数
5.实时系统,反垃圾系统
6.pub,sub,构建实时消息系统
7.构建消息队列
8.做缓存

 

安装:略

 

配置
查询配置
语法:config set 属性值
例如查询端口号
127.0.0.1:6379> config get port
1) "port"
2) "6379"
查询日志级别
127.0.0.1:6379> config get loglevel
1) "loglevel"
2) "notice"
获取所有配置
127.0.0.1:6379> config get *
获取后台启动
127.0.0.1:6379> config get daemonize

 

选择数据库(默认为0,总共有16个数据库)
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> select 0
OK

持久化
127.0.0.1:6379> config get save
1) "save"
2) "900 1 300 10 60 10000"
解释
900s内只要操作过一个更新就保存
300s内操作10次,保存硬盘
60s内操作10000次,保存硬盘.

clear 清屏

 

 

数据类型(重点)
1.string
2.hash
3.list
4.set
5.zset

 

详细:
string:
最基本的类型,一个key,对应一个value,是二进制安全的.
比如.图片或者队形(要序列化)
key:最大512M,
127.0.0.1:6379> set aaa aaa
OK
127.0.0.1:6379> get aaa
"aaa"

 

 

hash:
他还是一个键值对集合,适合对象.

//hset,一次设置一个值
//hget.一次获取一个值
//hmset 一次设置多个值
//hgetall 一次获取所有值
127.0.0.1:6379> hmset userinfo name ‘admin‘ age 12 sex 1 address ‘湖北‘
OK
127.0.0.1:6379> hgetall userinfo
1) "username"
2) "admin"
3) "name"
4) "admin"
5) "age"
6) "12"
7) "sex"
8) "1"
9) "address"
10) "\xe6\xb9\x96\xe5\x8c\x97"

127.0.0.1:6379> hset user name "admin"
(integer) 1
127.0.0.1:6379> hget user name
"admin"

 

 


list
简单的字符串列表,按照插入顺序排序
添加的时候可以指定位置
从左边添加
lpush mylist a
127.0.0.1:6379> lpush mylist a
(integer) 1
127.0.0.1:6379> lpush mylist b
(integer) 2
查询
lrange 0 2
127.0.0.1:6379> lrange mylist 0 2
1) "c"
2) "b"
3) "a"

 

 

 

从右边添加
127.0.0.1:6379> rpush mylist2 a b c
(integer) 3
127.0.0.1:6379> lrange mylist2 0 -1
1) "a"
2) "b"
3) "c"

 

 

set集合(无重复数据,无顺序)
127.0.0.1:6379> sadd myset a b c d e f a
(integer) 6
127.0.0.1:6379> smembers myset
1) "d"
2) "c"
3) "f"
4) "e"
5) "b"
6) "a"
可以看出无重复和顺序
使用set可以去重复

 

 

zset(sorted set)
有序的集合
会关联一个double的分数,用来排序,分数可以相同,成员必须唯一
127.0.0.1:6379> zadd yyy 62 stu1 77 stu2
(integer) 2


127.0.0.1:6379> zrangebyscore yyy 0 100
1) "stu1"
2) "stu4"
3) "stu2"
4) "stu3"

127.0.0.1:6379> zrange yyy 0 -1 withscores
1) "stu1"
2) "62"
3) "stu4"
4) "65"
5) "stu2"
6) "77"
7) "stu3"
8) "80"

 


























































































































以上是关于redis学习的主要内容,如果未能解决你的问题,请参考以下文章

Redis学习笔记

Redis学习笔记Redis安装和启动

redis学习基础概念摘抄

redis学习基础概念摘抄

redis学习基础概念摘抄

Redis安装 Redis学习记录