Redis笔记

Redis安装

1.将 Redis安装包 放在Linux 目录opt下 解压 文件 tar -vxf redis-6.5.25.tar

2.安装C++: yum install gcc-c++ 安装环境(下载): 先make  之后在 make install

3.redis默认安装路径 “/usr/local/bin”

4.将redis配置文件 redis.conf 拷贝一份 拷贝到当前目录下Lconfig(新建) 修改配置文件中 daemonize no —> daemonize yes

5.启动redis服务 —> 当前目录 redis-server lconfig/redis.conf

6.用客户端连接redis —> redis-cli -p 6379 (redis默认端口号)

<img src="C:\Users\liaoy\AppData\Local\Temp\Image.png" alt="Image" style="zoom:67%;" />

7.查看redis进程: —>ps ef|grep redis

8.关闭redis服务器: —>shutdown  退出redis-cli是exit

9.redis-benchmark 测试性能工具: redis-benchmark -h localhost -p 6379 -c 100 -n 100000

五大数据类型

 redis-server 开启Redis服务

redis -cli -p 6379 测试client是否可以连上

ping 测试是否连接成功

1.redis有16个数据库,使用命令< select 1 > 切换数据库

2.keys * 查询全部key

3.清空当前的数据库的内容:flushdb

4.清空全部数据库的内容:flushall

        *append 给某个key追加内容 append key “hello" 如果存在key则追加到原文后面,不存在则创建key并将”hello“作为内容填充进去

1).string类型

5.判断当前key是否存在:exists key

6.移除指定数据库内的key:move key 1

7.设置key的过期时间,单位是秒:expire 查看当前key的剩余时间 :ttl key

8.查看当前key的类型:type key

9.set key 0  设置key

incr key #自增1

​ decr key # 自减1

​ incrby key 10 #加指定数量

​ decrby key 10 #减指定数量

10.截取字符串指定地址:getrange key 0 3(-1,全部) 替换指定位置开始的字符串:setrange key 1 xx

11.设置key带有过期时间:setex(set with expire) setex key 30 “HELLO”

12.不存在再设置:setnx(set if not exist) setnx key “redis” —> 1 setnx key “MongoDB” —> 0

13.批量set与get mset k1 v1 k2 v2 k3 v3 mget k1 k2 k3 msetnx k1 v1 k2 v4 #原子性,要么全部成功,不然全部失败

14.存在值则获取原来的值,并设置新的值 getset key “redis”,不存在则返回nil

#高阶

set user:1  {name:zhangsan,age:2} #设置一个user:1对象,值为json字符来保存一个对象

#这里的key是一个巧妙的设计:user:{id}:{filed},如此设计在Redis中是完全OK的!

2).List类型

1.所有指令都是以L 开头 LPUSH list one #将一个值或者多个值,插入到列表头部(左)

​ RPUSH list one #将一个值或者多个值,插入到列表头部(右) LRANGE list 0 1 通过区间获取具体的值

​ LRANGE list 0 -1 获取list全部的值

2,移除 LPOP list 移除列表的第一个元素 RPOP list 移除最后一个元素

3.通过获取list某一个值 : Lindex list 1

4.获取列表的长度: Llen list

5.移除列表指定个数的值:lrem list 1 one

6.通过下标截取指定的长度:Ltrim list 1 2 (list会被改变)

7.移除列表最后一个元素到新的列表中:rpoplpush list1 1 list2

8.将指定下标的值更新成为另外的值,更新操作(如果不存在则会报错): lset list 0 item

9.将某一个具体的值插入到列表中插入到指定值得前面或后面:linsert list before “value1” “value2”

3).Set类型

1.set类型中元素是不可以重复的

​ sadd set1 1 2 3 4 #添加 smembers set1 #查询内容

sismember set1 1 #查询是否存在(1:存在,0不存在) 

​ scard set1 #获取set集合中个数 srem set1 1 #移除指定元素

srandmember set1 1 #随机获取一个元素

​ spop set1 #随机移除一个元素 smove set1 set2 “值” #移动指定的值到新的集合中

2.sdiff set1 set2 #差集 sinter set1 set 2 #交集 sunion set1 set2 #并集

4).Hash类型

1.hset  #set一个具体的kys-value   hget  #获取一个字段值

hmset #set多个具体的kys-value hmget #获取多个字段值

hgetall #获取全部的数据

hgetall hdel myhash key1#删除hash指定的key

​ hlen myhash #获取hash长度 hexists myhash field1 #判断是否存在 hvals myhash #获取指定hash所有的值

5).zset类型

​ 语法更string差不多,前面加个z

zcount  #获取指定区间的成员数量

 zadd   #添加一个值 也可以添加多个值  zrange #查看集合中的全部元素

 zrangebyscore salary -inf +inf #可以显示全部的用户 从小到大

 zrangebyscore salary -inf +inf  withscore  #显示全部的用户并且带成绩

 zrangebyscore salary -inf  5000 withscore  #显示工资小于2500的升序排列

 zrem salary xiaohong #移除有序集合中的指定元素

三种特殊数据类型

1>Geospatial地理位置

geoadd  #添加地理位置

#规则:两级无法直接添加,我们一般会下载城市数据   ,直接通过java程序一次性导入

获得当前定位:一定是一个坐标值!

geopos china:city beijing   #获取指定的城市的经度和纬度

geodist china:city beijing shanghai km #查看上海到北京的直线距离

georadius china:city 110 30 1000km #以110,30这个经纬度为中心,寻找方圆1000Km以内的城市

georadius china:city 110 30 500 km withdist  #显示到中间距离的位置

georadius china:city 110 30 500  km withcoord #显示他人的定位信息

georadius china:city 110 30 500 km withdist withcoord count 1 #筛选出指定的结果!

2>Hyperloglog  奇数(不重复的元素)

pfadd #创建一组元素   pfcount #统计mykey元素的奇数数量

pfmerge  #合并两组 

3>Bitmaps 

通过setbit #可以记录每天是否打卡(0:"未打卡",1:"已打卡")

getbit #可以获得某一天是否打卡

bitcount #统计这周的打卡记录  

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值