nosql not only sql
用户画像:
热点数据:经常被使用的数据
mysql
可以使用yum 安装,要先配置epel源
yum install -y redis
可以编译安装
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
tar xf redis-5.0.5.tar.gz
cd redis-5.0.5/
make
redis-benchmark #性能测试
redis-check-aof # 检查修复aof文件
redis-check-rdb # 检查修复rdb文件
redis-cli # redis的客户端
redis-sentinel # redis的集群
redis-server # redis的服务端
redis-trib.rb #集群管理
./src/redis-server 默认端口是6379,默认启动会占用终端
./src/redis-benchmark -q
PING_INLINE: 73855.24 requests per second
PING_BULK: 73800.73 requests per second
SET: 74074.07 requests per second
GET: 72833.21 requests per second
INCR: 73637.70 requests per second
LPUSH: 73855.24 requests per second
RPUSH: 70175.44 requests per second
LPOP: 72202.16 requests per second
RPOP: 74183.98 requests per second
SADD: 74962.52 requests per second
HSET: 75642.96 requests per second
SPOP: 73746.31 requests per second
LPUSH (needed to benchmark LRANGE): 74850.30 requests per second
LRANGE_100 (first 100 elements): 48379.30 requests per second
LRANGE_300 (first 300 elements): 24172.11 requests per second
LRANGE_500 (first 450 elements): 18670.65 requests per second
LRANGE_600 (first 600 elements): 15384.62 requests per second
MSET (10 keys): 78186.08 requests per second
默认是100000,50个同时发起连接
./src/redis-cli
-h ip地址
-p 端口
-s 套接字
-a 密码
-n 指定redis的库
redis的命令是不区分大小写
用来测试redis是否连通,返回值是pong
获取系统的信息
打印内容,测试使用
退出
切换redis的库,总共有16个,0-15
删除指定的一个或者多个key,不存在的key忽略
判断key 是否存在,存在是1,不存在是0
给指定的key设置存活时间,当key过期以后,就自动删除
查看key的存活时间,-2 key不存在 -1 永久生效
查找所有符合pattern 的key,支持通配符
移动当前的key到指定的db里面,成功返回1,失败返回0
给一个key 设置过期时间,单位是毫秒
查看key的存活时间,但是为毫秒
随机获取一个key,但是不删除,如果数据库为空,则返回空
重命名key,如果源key不存在,则报错,如果目标key存在,则覆盖
重命名key,如果源key不存在,则报错,如果目标key存在,则不变
查看key所存储的数据类型,如果没有这个key,则返回none
设置key value
如果key存在,则覆盖,不存在,则新建
ex second 设置key的存活时间,单位是秒
px 毫秒 设置key的存活时间,单位是毫秒
nx 如果键不存在,则新建,如果存在,则返回nil
xx 只有键存在,才能操作
获取key对应的value,只能获取一个,如果key存在,则返回值,如果key不存在,则返回nil
批量创建key vlaue对应关系,会覆盖已存在的key
批量获取key,如果不存在,则返回nil
给指定的key设置新value,并返回原来的value,如果key不存在,则返回nil
返回value的长度
如果key存在,则追加,如果key不存在,则新建
将key中存在的数加1,只能对数字有效
将key中存在的数值减1,只能对数字有效
将key中存在的数值指定增加多少,只对数字有效
将key中存在的数值减少指定的值,只能对数字有效
切片,同python类似,不能使用步长
将key中存在的数值增加指定的浮点数
将一个或者多个value插入到列表的头部
移除并返回列表key的头一个元素
查看列表指定的元素,全部显示是0,-1
将一个或者多个value插入到列表的尾部(最后边)
删除尾部的值
将value插入到key的尾部,key必须存在才可以
将value插入到key的头部,key必须存在才可以
从表头开始,获取下标为index的value
将value插入到key指定的元素前或者后
before 前
after 后
如果value不存在,则不操作
获取列表长度
删除列表中的value
替换指定的索引位置的value,如果索引超出范围,则报错
列表的切片
{‘db‘:{"redis":‘redis.conf‘,"mysql‘:‘my.cnf‘,"nginx":"nginx.conf"}}
给hash增加key value值
获取hash的长度
获取某个hash里面key的value
获取所有的键值对
批量增加键值对
批量获取键值对
给指定的hash增加键值对,如果原来的field存在,则操作无效,如果不存在,则新增
获取hash表中所有的field
获取hash表中所有的value
删除hash表中的一个或者多个field-value
判断hash表中的field是否存在,如果存在,则为1,不存在则为0
给hash表中的field增加指定的数值,只限于数字
给hash表中的field增加指定的浮点,只限于数字
给集合添加值,如果值存在,则什么都不操作,如果值不存在,则添加
获取集合所有的成员
获取集合的个数
获取两个集合的差集,前面存在,但是后面不存在的
获取两个集合的交集
获取两个集合的并集
判断元素是否在集合中,如果存在,则为1,如果不存在则为0
将指定的元素从一个集合移动到另外一个集合中,如果源集合存在,则移动,如果不存在,则忽略,如果目标集合存在,直接移动,如果目标集合不存在,则新建集合并移动
随机删除指定个数的元素,并把删除的元素打印出来
随机获取指定个数的元素
删除指定的一个或者多个元素
原文:https://www.cnblogs.com/wusuowei1/p/13728095.html