> 文章列表 > Redis7

Redis7

Redis7

一、安装和坑排除

Redis7

1、启动服务端

redis-server /myredis/redis7.conf

Redis7

2、启动客户端

redis-cli -a yjy219912ym -p 6379  //-a 后面接的是密码

Redis7

3、查看redis进程

 ps -ef|grep redis

Redis7

4、测试是否可以正常使用

Redis7

5、redis端口号默认是6379

Redis7

6、helloworld

Redis7

7、关闭

1、客户端

quit

Redis7
2、服务端
Redis7

8、卸载

Redis7

Redis7

二、Redis十大数据类型

1、String

Redis7

2、List

Redis7

3、Hash

Redis7

4、set

Redis7

5、Zset

Redis7

6、redis地理空间GEO

Redis7

7、redis基数统计HyperLogLog

Redis7

8、redis位图bitmap

Redis7

9、redis位域bitfield

Redis7

10、redis流stream

Redis7

三、十大数据类型详解

keys *  		//当前库的所有key
exists key      //判断某个key是否存在
type key        //查看你的key是什么类型
del key         //删除指定的key数据
unlink key      //非阻塞删除,仅仅将keys从keyspace元数据中删除,没真正的删除会在后续异步中操作
ttl key         // 查看还有多少秒过期 -1表示永不过期 -2 表示已过期
expire key 秒    // 给key设置过期时间
move key dbindex [0-15]   // 将当前数据库的key移动到指定的数据库中  redis默认是有16个数据库的
select dbindex [0-15]   // 切换数据库[0-15],默认为0
dbsize   			// 查看当前数据库key的数量
flushdb         		// 清空当前库
flushall 			// 清空16个数据库 慎用

命令不区分大小写,而key的值是区分大小写的
help @+数据类型 会出现命令提示 比如 help @string

1、String

  • string是redis最基本的类型,一个key对应一个value。
  • string类型是二进制安全的,意思是redis的string可以包含任何数据,比如jpg图片或者序列化的对象 。
  • string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M
    Redis7
set key value ex 20   // 设置值 20秒过期
get key   // 获得对应的值

Redis7
Redis7
同时设置/获取多个键值

MSET [key1] [value1] [key2] [value2] [key3] [value3]  // 同时设置一个或多个键值对
MGET [key1] [key2] [key3]  // 同时获取多个key的值
MSETNX [key1] [value1] [key2] [value2]  // 同时设置一个或多个 key-value 对  必须保证key都不存在才能成功

数值增减

INCR [key]    // 递增数字 +1
INCR [key] [increment]   // 增加指定的整数  +increment 
DECR [key]   // 递减数字 -1
DECR [key] [increment]   // 减少指定的整数  -increment 

Redis7
获取指定区间

GETRANGE [key] 0 -1  // 获取这个key的值的全部
GETRANGE [key] 0 2   // 获取这个key的值索引0到索引2之间的值
SETRANGE [key] 1 xxx  // 设置指定区间范围内的值

获取字符串长度和内容相加

STRLEN [key]        // 获取key对应的值的长度
APPEND [key] [vale]   // 添加字符串内容

分布式锁

setex [key] [过期时间] [value]  // 设置带过期时间的key,动态设置
setex [key] [value] // 只有在 key 不存在时设置 key 的值。

getset(先get再set)

getset [key] [value]  // 给定 key 的值设为 value ,并返回 key 的旧值

Redis7

Redis7

2、list

Redis7

lpush [key] [value] ...  // 往 列表头部(左边)放入元素
Rpush [key] [value] ...  // 往 列表(右边)放入元素
lrange [key] 0 -1      // 从左边开始遍历列表  只能从左边遍历
lpop [key]           // 最左边的出栈 也就是lrange遍历的第一个
rpop [key]           // 最右边的出栈 也就是lrange遍历的最后一个
lindex [key] [index]  // 通过索引值获取值
llen [key]    // 获得元素个数
lrem [key] [num] [value]  // 从左往右删除 num个值为 value的值
lrem [key] 0 [value]  // 从左往右删除所有值为value的值
ltrim [key] [开始] [结束] // 截取指定范围的值后再赋给[key],也就是删除这个区间外的值
RPOPLPUSH [key1] [key2]  //移除列表的最后一个元素,并将该元素添加到另一个列表的第一个并返回
lset [key] [index] [value]   //将key的第 index 个索引值改为value
linsert [key] before/after [value1] [value2] // 在list某个已有值的前后再添加具体值

Redis7
Redis7
Redis7

3、hash

相当于Map<String,Map<Object,Object>

hlen   // 获取在某个key内的全部数量
hexists [key] [k1]   // 看key中是否有k1这个键
hkeys [key]    // 获取key里面的所有key
hvals [key]    // 获取key里面的所有value
hincrby [key] k1 [num] // key里面k1的值增长num 整数
hincrbyfloat [key] k1 [num] // key里面k1的值增长num 小数
hsetnx [key] k1 [value] // 不存在赋值,存在了无效\\

应用场景
早期购物车设计,基本不用了,中小厂可用

Redis7
Redis7

4、set

单值多value,无重复
常用的

SADD key member ...   // 添加元素
SMEMBERS key      // 遍历集合中所有元素
SISMEMBER key member    // 判断元素是否在集合中
SREM key member ...     // 删除元素
SCARD  key          // 获取集合长度
SRANDMEMBER key m   // 从set集合里面随机取出m个    如果超过最大数量就全部取出   如果写的值是负数,比如-3 ,表示需要取出3个,但是可能会有重复值    不会删除
SPOP key m   // 从集合中随即弹出一个元素  出一个删一个
SMOVE key1 key2 在key1里已存在的某个值  // 将key1的已存在的某个值赋给key2

集合运算

SDIFF keyA keyB     // A - B  属于A但不属于B的元素构成的集合
SUNION keyA keyB    // A U B  属于A或者属于B的元素合并后的
SINTER keyA keyB    // A ∩ B  属于A同时属于B
SINTERCARD numkeys keyA keyB [LIMIT limit] // 不返回结果集,只返回结果的基数

Redis7
Redis7
Redis7
Redis7

5、Zset

注意:Zset和set的区别,就是在set的基础上加了一个score分数值。

  • set k1 v1 v2 v3
  • Zset k1 score1 v1 score2 v2

常用的

ZADD key score member [ score member ] // 添加元素
ZRANGE key start stop [WITHSCORES] // 返回元素分数从小到大的顺序   返回索引从start到stop之间的所有元素
ZREVRANGE key 0 - 1 [WITHSCORES]   // 反序
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] // 获取指定分数范围的元素  (min,max) 不包含   limit是返回限制,返回多少个 
ZSCORE key member     // 获取元素的分数
ZCARD key             // 获取集合中元素的数量
ZREM key 某score下对应的value值   // 删除元素
ZINCRBY key increment member    // 增加某个元素的分数
ZCOUNT key min max     // 获得指定分数范围内的元素个数
ZRANK key values值     // 获得下标值
ZREVRANK key values    // 逆序获得下标值、

ZMPOP numkeys key [key …] <MIN | MAX> [COUNT count]

  • 弹出元素 会删除

    • numkeys 表示几个key

    • <MIN | MAX> 小 | 大

    • [COUNT count] count num 弹出num个

Redis7
Redis7
Redis7
Redis7
Redis7
Redis7
Redis7