Linux下Redis安装配置,及常用命令

Redis简介

  • Redis-REmote DIctionary Server
  • Redis是一个使用ANSI C语言编写的开源数据库
  • 高性能的key-value数据库
  • 内存数据库,支持数据持久化
  • Redis官网https://redis.io/
  • 提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端

Redis安装(Linux)

下载、解压、编译Redis

wget http://download.redis.io/releases/redis-5.0.4.tar.gz

tar xzf redis-5.0.4.tar.gz

cd redis-5.0.4

make

完成后运行测试

make test

如果出现You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [test] error 1,则需安装tcl

yum install tcl

再次执行make test则不会报错


安装成功
Redis启动(Linux)

./src/redis-server &

或者

redis-server ${redis.conf} #加载配置启动
redis-server --port ${port} #指定端口启动
Redis启动

这种方式不会占用命令行,如果命令后不加空格&则会占用,如上图

启动redis-cli

./src/redis-cli

或者

redis-cli -port ${port} #指定端口启动(需要和redis-server的端口一致)
redis-cli -h ${ip} #指定host启动
redis-cli -a ${password} #认证启动
#可以组合使用
启动redis-cli
关闭redis-cli

./src/redis-cli shutdown

或者

redis-cli -port ${port} shutdown #指定端口关闭(默认6379,需要和启动端口一致)
redis-cli -h ${ip} shutdown #指定host关闭
#可以组合使用
关闭redis-cli

如果使用Ctrl+C终止了redis-server,则不会进行持久化

Redis配置端口号和密码

打开redis.conf

sudo vim redis.conf

搜索输入/关键字。n:下一个,N:上一个
修改后保存退出,使用redis-server ${redis.conf} 加载配置启动

...
# Accept connections on the specified port, default is 6379 (IANA #815344).
# If port 0 is specified Redis will not listen on a TCP socket.
port 6379 #端口号
...
# use a very strong password otherwise it will be very easy to break.
#
requirepass password  #密码
... 

Redis基础命令

  • info ---- 查看信息
  • ping ---- 测试连接
  • quit ---- 退出连接
  • save ---- 持久化
  • dbsize ---- 查看key数量
  • select ---- 选择db
  • flushdb ---- 清除当前db
  • flushall ---- 清除所有db

Redis常用数据类型

  • string(字符串)
  • list(链表)
  • set(无序集合)
  • sorted set(有序集合)
  • hash(Hash表)

Redis常用键命令

  • set ---- 设置键值 ---- set testkey testval
  • get ---- 获取值 ---- get testkey
  • del ---- 删除 ---- key del testkey
  • exists ---- 判断key是否存在 ---- exists testkey
  • expire ---- 设置key生存时间单位s ---- expire testkey 10
  • mset ---- 一次设置多个键值 ---- mset k1 v1 k2 v2 k3 v3
  • mget ---- 一次获取多个值 ---- mget k1 k2 k3
  • setex ---- 在设置键时设置生存时间单位s ---- setex testkey 10 testval
  • psetex ---- 在设置键时设置生存时间单位ms ---- setex testkey 1000 testval
  • ttl ---- 查看一个key剩余生存时间单位s,-1为永久存在-2为不存在 ---- ttl testkey
  • type ---- 查看值类型 ---- type testkey
  • randomkey ---- 随机key的值 ---- randomkey
  • rename ---- 重命名key(新的key如果已存在会覆盖原有的) ---- rename testkey newkey
  • renamenx ---- 重命名key(以nx结尾的命令会做验证,以renamenx 为例,如果新的key如果已存在不会覆盖原有的键,返回0)

  • getrange ---- 获取一段范围的值 ---- getrange testkey 0 3(返回"test")
  • getset ---- 获取旧的值设置新的值 ---- getset testkey newtestval(返回"testval")
  • strlen ---- 获取字符串长度 ---- strlen testkey
  • append ---- 追加字符串 ---- append testkey appendstr

  • incr ---- int类型的值+1 ---- incr testint
  • incrby ---- int类型的值+n ---- incr testint 100
  • decr ---- int类型的值-1 ---- decr testint
  • decrby ---- int类型的值-n ---- decr testint 100

  • hset ---- 设置hash值 ---- hest map name tom
  • hexists ---- 查看hash表的指定字段是否存在 ---- hexists testmap name
  • hget ---- 查看hash表的指定字段值 ---- hget testmap name
  • hgetall ----查看hash表所有键值 ---- hgetall testmap
  • hkeys ---- 查看hash表所有键---- hkeys testmap
  • hvals ---- 查看hash表所有值---- hvals testmap
  • hlen ---- 查看hash表键数量---- hlen testmap
  • hdel ---- 删除hash表中的key ---- hdel name

  • lpush ---- 将一个或多个值插入到list头部 ---- lpush testlist 1 2 3 4 5 6
  • llen ---- 获取list长度 ---- llen testlist
  • lrange ---- 返回list中指定区间内的元素 ---- lrange testlist 0 3
  • lset ---- 通过索引来设置元素的值 ---- lset testlist 0 100
  • lindex ---- 通过索引获取列表中的元素,-1为最后一个元素, -2 为倒数第2个 ---- lindex testlist 1
  • lpop ---- 移除list中第一个元素 ---- lpop testlist
  • rpop ---- 移除list中最后一个元素 ---- rpop testlist

  • sadd ---- 将一个或多个成员元素加入到集合中 ---- sadd testset a b c d
  • scard ---- 回集合中元素的数量 ---- scard testset
  • smembers ---- 返回集合中的所有的成员 ---- smembers testset
  • sdiff ---- 返回给定集合之间的差集 ----sdiff testset1 testset2
  • sinter ---- 返回给定所有给定集合的交集 ----sinter testset1 testset2
  • sunion ---- 返回给定集合的并集 ----sunion testset1 testset2
  • srandmember ----- 返回集合中的n个随机元素 ---- srandmember testset 3
  • sismember ---- 判断成员元素是否是集合的成员 ---- sismember testset a
  • srem ---- 移除集合中的一个或多个成员元素 ---- srem testset a b
  • spop ---- 移除集合中的指定 key 的一个或多个随机元素,并返回这个元素 ---- spop testset

  • zadd ---- 将一个或多个成员元素及其分数值加入到有序集当中 ---- zadd testsorted 100 a 200 b 300 c
  • zscore ---- 返回有序集中成员的分数值 ---- zscore testsorted a
  • zcount ---- 计算有序集合中指定分数区间的成员数量 ---- zcount testsorted 0 300
  • zrank ---- 返回有序集中指定成员的排名(从小到大) ---- zrank testsorted a
  • zincrby ---- 指定成员的分数加+n ---- zincrby testsorted 1000 a

你可能感兴趣的:(Linux下Redis安装配置,及常用命令)