首页 > 技术文章 > redis入门

tflike 2018-12-04 10:26 原文

原文参考https://www.cnblogs.com/Java-Starter/p/7638014.html

redis工具https://tv.sohu.com/v/dXMvMC8xMDA0OTQzODAuc2h0bWw=.html 

 

可视化工具https://blog.csdn.net/zx1323/article/details/78135351 

redis 观感

1、redis 安装成功后,各服务介绍

  redis-benchmark:性能测试工具,可以再自己本子运行,看看自己本子性能如何

  reids-check-aof : 修复有问题的AOF文件

  reids-check-dump : 修复有问题的dump.rdb文件

  redis-sentinel: redis集群使用

  redis-server:redis服务器启动命令

  redis-cli : 客户端,操作入口

2、介绍

redis默认16个库,初始0号库

使用select <dbid> 切换库,例如select 7

统一密码管理,所有库密码相同

dbsize查看当前数据库的key的数量

flushdb 清空当前库 flushall通杀全部库

redis是单线程+多路io复用技术(memcache多线程+锁)

与memcache 不同点:多种数据类型,可以持久化,单线程+多路io复用

reis 五大数据类型 list string set hash zset(有序集合)

 

string

最大是512M

append 追加到原值后边 append k1 abc

strlen 查看字符串长度

setnx 当key不存在可以设置成功

incr +1 decr -1 只能对数字类型操作

incrby key n +n decr key n -n

mset 同时设置多个key value ,mget key 同时获取多个key中的value

getrange key start end 包含start和end

setrange key start value 从start开始覆盖原值

getset key value 取到的值是原来的,然后再赋值

setex key 过期时间 value 设置值得同时设置过期时间

 

list 

底层双向链表

lpush key value1 value2...从左边插入 rpush key value1 value2 ... 从右边添加

rlange key start end 取值 

lpop key 左边取值 rpop key 右边取值

rpoplpush key1 key2 从key1右边取出存入左边key2

lindex key 下标 根据下边取值

llen key列表长度

linsert key before value1 value2 再value1前边加入value2

lrem key num value 从左边删除num个value

lset key index value 从左边修改index中的value

 

set 无重复元素,底层字典(hash实现)

sadd key value... 添加多个值

smembers key 取出集合中的所有

sismember key value 判断value是否存在

scard key 返回集合数量

srem key value... 删除

spop key 随机吐出,删除

srandmember key n 随机取出n个值,不删除 

smove key1 key2 value 把value从key1转移到key2

sinter key1 key2 交集

sunion key1 key2 并集
sdiff key1 key2 返回key1中存在key2中不存在的值

 

hash 类似map<String,Object> 适用于存储对象,底层个数少时ziplist,数据量大hashtable

hset key field value 添加一个对象,属性filed 值

hget key field 查看value

hmset key field value ...批量存储

hexusts key field 判断filed属性是不是存在

hkeys key查看所有属性

hvals key 查看所有value

hincrby key field 为value+1

hsetnx key field value添加值,但是field原来不存在,存在不存

 

zset有序集合

 

redis6新数据类型

Bitmaps 使用位来记录和操作数据(例如:统计网站活跃量,每天活跃人数,每月活跃人数的计算)

HyperLogLog 对基数进行操作(比如这几天一共多少人进行上网去重,或者这几天有多少ip进行操作这个网站)

Geospatial 对地图坐标进行操作 ,可以计算地图直径距离和以某地位中心半径为多少的范围有多少城市。可以通过城市获取经纬度

操作

keys *查看当前库所有key 或者其他库keys *1 msetnx key 同时设置都不存在的key才成功

exits key 判断key是否存在

type key key类型

del key 直接删除

unlink key 异步删除

expire key 10 单位:s

ttl key 是否过期 1不过期 -2过期 -1永不过期

推荐阅读