linux 安装redis及redis基础

1.官网下载redis安装文件 http://redis.io

2.进入文件压缩包路径,解压文件  tar -zxvf redis-6.0.9.tar.gz

3.安装gcc环境  yum install gcc-c++

    如果redis版本高,gcc版本低的话可能会导致安装失败,这样需要重新安装高版本gcc

 解决办法:借助scl技术临时切换更高版本的gcc完成安装

安装scl源  : yum -y install centos-release-scl

安装新版gcc:yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

切换新版本:scl enable devtoolset-9 bash

查看gcc版本 gcc -v

4重新执行make命令。如果提示没有需要make的文件,则将解压的redis文件夹删掉重新解压之后再执行make命令即可

5.make install

6.修改redis.conf文件,为了不更改源解压文件,我们可以复制一份该文件到usr/local/bin中,之后我们就操作我们复制的配置文件即可。

   找到daemonize 默认状态为no,我们改为yes,意思是让redis在后台启动。

7.启动redis服务 进入bin目录后 : redis-server redisconfig/redis.conf

8.使用redis客户端进行测试连接:redis-cli -p 6379 之后 输入ping  如果弹出pong则说明连接成功

9.关闭redis连接  shutdown

 

10.redis默认有16个数据库。默认使用第0个。切换数据库用select ,查看数据库大小 dbsize,清空当前库 flushdb,清空所有库 flushall

11.redis是单线程的,是基于内存操作。CPU不是redis性能瓶颈。瓶颈是机器的内存和网络带宽。

12.设置有效期:expire name 10; 设置有效期为10秒钟。可以通过 ttl name 来查看有效时间

13。基本命令:keys * :查看所有的key值  ;

                          exists name 判断当前key是否存在;

                          move name 1:将当前数据库中的key为name的数据移动到数据库1中;

                          type name :查看key为name的值的类型;

                          append name hello :在name值的后面追加字符串hello,如果当前key不存在,相当于set;

                          strlen name:获取name值的长度;

                          incr name:在name值基础上加1;

                          decr name:在name值基础上减1;

                          incrby name 10:在name值基础上加10;

                          decrby name 10:在name值基础减10;

                          getrange  name 0 3:获取name值的前四位,闭合区间;截取字符串

                          getrange  name 0  -1:获取全部内容;截取全部字符串;

                          setrange  name 1 xx: 将name值中第二个位置的字符替换为xx;

                         setex key 30  hello:设置key的值为hello,有效期为30秒;

                        setnx key  hello :如果没有这个key,则设置key的值为hello,如果有,则不更改之前的值,创建失败;

                        mset k1 v1 k2 v2 k3 v3:批量设置key,value;

                        mget k1 k2 k3 :批量获取值;

                        msetnx k1 v1 k2 v2 :如果都不存在则创建,如果有一个存在,则创建失败(原子行的操作,一起成功,一起失败)

               

                        getset  key1 hello :如果不存在值,则返回nil,并将key1的值存为hello,如果存在值,则返回原来的值,并更新为hello

                      ===========================================================================================

                     list操作:

                    lpush list one; lpush list two; lpush list three; 将数据push到list中 从左插入

                    rpush list zero; 将数据push到list中,从右插入

                    lpop list :移除list的第一个元素;

                    rpop list  :移除list的最后一个元素;

                    lindex list 1 通过下标获取list中的第一个值;

                    llen list:返回list列表的长度;

                    lrem list 1 one :移除list中指定个数的value;

                    ltrim list  1 2 :通过下标截取指定的长度;list被修改,只剩下截取后的数据;

                   rpoplpush list list1:移除list列表中最后一个元素到list1中

                   lset list 1 hah :将列表中指定下标的值替换为另一个值,更新操作,如果存在则更新,如果不存在则报错

                   linsert list before one ooo:将某个具体的值插入到列表中具体值的前面或后面;

=====================================================================================================

                  set操作:set中的值不能重复、无序的集合

                  sadd myset  hello   set集合中添加值

                  smembers myset 查看指定set的所有值

                  sismember myset hello :判断某一个值是不是在set集合中,存在返回1,不存在返回0

                  scard myset :获取set集合中的元素个数

                  srem myset hello :移除集合中的指定元素

                 srandmember myset :随机抽取一个元素

                 spop myset :随机删除一些set集合中的元素

                 smove myset myset2 hello :  将一个指定的值,从myset中移动到另一个myset2集合中;

                 sdiff  key1 key2  :key1和key2的差集

                 sinter key1 key2 :交集   

                  sunion key1  key2   :并集

======================================================================================================================

                hash(Map集合)

                

                  

                                

                            

                          

                        ============================================================================================================================

                       zset(有序集合)

                               

                                      

                                    

=====================================================================================================================================

                           geospecial地理位置详解

====================================================================================================================================

===========================================================================================================================================

===========================================================================================================================================

 

=====================================================================================================================================

======================================================================================================================================

 

 

注:以上内容参考自狂神说java,有兴趣的小伙伴可以查看哔哩哔哩:https://www.bilibili.com/video/BV1S54y1R7SB?p=25

 

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值