redis 安装与使用

    xiaoxiao2022-07-02  107

    安装redis

    下面介绍编译安装redis,编译安装可以在编译时优化和调试一些选项,而且可以自定义安装位置(以下均在centos环境下操作)

    获取安装包: wget http://download.redis.io/releases/redis-5.0.5.tar.gz

    解压到当前目录: tar zxvf redis-5.0.5.tar.gz

    cd redis-5.0.5/

    将配置文件移动到创建好的目录中: mkdir -p /redis/conf cp redis.conf /redis/conf/

    开始编译依赖项: cd deps/ make hiredis lua jemalloc linenoise 如果出现缺少gcc则: yum -y update gcc yum -y install gcc+ gcc-c++

    编译redis cd … make make PREFIX=/redis install cp -R /redis/bin/. /usr/local/bin/

    测试是否成功: which redis-server #查看路径 redis-server #启动redis

    macOS和Linux安装差不多

    一些常用命令

    守护进程启动redis:

    将 /redis/conf/redis.conf 中的diamonize改为yes,没有则加上diamonize yes redis-server /redis/conf/redis.conf

    关闭redis:

    redis-cli 127.0.0.1:6379> shutdown

    清空redis数据:

    redis-cli 127.0.0.1:6379> flushall

    连接到指定服务器的redis实例:

    redis-cli -h 主机名/IP地址 -p 端口(不加-p默认6379) -a 密码

    获取服务器信息,通常可以用来构建redis监控应用:

    redis-cli 127.0.0.1:6379> info #获取服务器所有信息 127.0.0.1:6379> info memory #大致的内存消耗指标 127.0.0.1:6379> info server #关于redis服务器的基本信息 127.0.0.1:6379> info clients #客户端连接的状态和指标 127.0.0.1:6379> info persistentce #数据持久化相关的状态和指标 127.0.0.1:6379> info stats #总体统计数据 127.0.0.1:6379> info replication #主从复制相关的状态和指标 127.0.0.1:6379> info cpu #CPU使用情况 127.0.0.1:6379> info cluster #Redis Cluster的状态 127.0.0.1:6379> info keyspace #数据库相关的统计数据

    redis参数设置:

    redis-cli 127.0.0.1:6379> config get 参数名 127.0.0.1:6379> config set 参数名 参数值

    数据处理命令:

    命令说明get, set, strlen, exist, appendsetrange从指定偏移量起,覆盖之后的字符串setnxnx选项表示存在值则不覆盖mset, mget批量设置和获取lpush, rpush ,lrange, linsert, lindex, lpop, rpop, ltrim, lrange, lset维护链表相关命令blpop, brpop链表弹出元素的阻塞版(链表为空时,所有的阻塞操作将会按序进入阻塞队列中)hset, hget, hsetnx, hmset, hmget, hexists, hgetall, hset, hdel处理哈希类型数据scan, hscan, sscan, zscan增量迭代遍历集合元素sadd, sismember, srem, scard, smembers处理集合元素sunion, sunionstore, sinter, sinterstore集合的并集和交集zadd nx, zrevrange, zincrby, zrevrank, zscore, zunionstore, zinterstore处理有序集合pfadd, pfcount, pfmerge处理HLL数据类型(使用固定数量的内存对大量基数进行计数)geoadd, geopos, georadius, geodist, georadiusbymember处理地理位置相关数据类型dbsize, keys, scan, exists, type, rename键管理的操作del, unlinkdel删除键可能会因元素数据量太大产生服务器延迟,unlink会在另一个线程而不是主事件线程中执行删除操作,不会发生阻塞dump, restore序列化和反序列化sort对无序集合或列表进行排序,对有序集合以另一种方式排序

    redis与memcached相比,其支持丰富的数据类型:字符串,列表,哈希,集合,有序集合,HyperLogLog(HLL,常用于大量数据下的集合计数),GEO(地理位置处理API)等。 对于列表,哈希,集合,不需要在添加数据前初始化,且为空时redis也会自动将其删除。 还有一个比较特殊的数据结构位图,假设每个用户都有一个唯一递增的ID,我们使用位图来存储用户是否使用过某个功能的标志位。

    生成redis测试数据

    python安装 网址:https://www.python.org/downloads/release/python-373/

    wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz tar -zxvf Python-3.7.3.tgz ./configure —prefix=/usr/local/python3 make && make install vim ~/.bash_profile PATH=$PATH:$HOME/bin改为PATH=$PATH:$HOME/bin:/usr/local/python/bin source ~/.bash_profile

    pip安装

    wget https://bootstrap.pypa.io/get-pip.py python3 get-pip.py

    用fake2db导入测试数据

    pip install redis fake2db fake2db --rows 10000 --db redis

    python安装其他问题

    更改系统默认python版本为此次安装版本 ln -s /usr/local/python/bin/python3.5 /usr/bin/python 更改系统默认python版本yum出现问题解决 vim /usr/bin/yum 头部 #!/usr/bin/python 改为 #!/usr/bin/python3.7 还有问题的话 vim /usr/libexec/urlgrabber-ext-down 头部 #!/usr/bin/python 改为 #!/usr/bin/python2.7
    最新回复(0)