yum install redis
vim /etc/redis.conf
找到
#requirepass foobared
去掉注释
修改foobared为自己要设置的密码
requirepass myRedis
改端口和主机
# Accept connections on the specified port, default is 6379.
# If port 0 is specified Redis will not listen on a TCP socket.
port 16379
# If you want you can bind a single interface, if the bind option is not
# specified all the interfaces will listen for incoming connections.
# default is 127.0.0.1
bind 182.92.226.14
> redis-cli -h 182.92.226.14 -p 16379 -a pfty1-redis info | grep 'redis_version'
> redis_version:2.4.10
常用命令
在 Redis 2.6.12 以前版本, SET 命令总是返回 OK 。
从 Redis 2.6.12 版本开始, SET 在设置操作成功完成时,才返回 OK
> set ket "value"
-
> get key
-
> set key "new value"
-
> get key
Redis Get 命令用于获取指定 key 的值。
如果 key 不存在,返回 nil 。
如果key 储存的值不是字符串类型,返回一个错误。
redis> GET db
(nil)
redis> SET db redis
OK
redis> GET db
"redis"
# 对不是字符串类型的 key 进行 GET
redis> DEL db
(integer) 1
redis> LPUSH db redis mongodb mysql
(integer) 3
redis> GET db
(error) ERR Operation against a key holding the wrong kind of value
Redis Getrange 命令用于获取存储在指定 key 中字符串的子字符串。
字符串的截取范围由 start 和 end 两个偏移量决定(包括 start 和 end 在内)。
语法
redis Getrange 命令基本语法如下:
redis 127.0.0.1:6379> GETRANGE KEY_NAME start end
可用版本
>= 2.4.0
返回值
截取得到的子字符串。
实例
首先,设置 mykey 的值并截取字符串。
redis 127.0.0.1:6379> SET mykey "This is my test key"
OK
redis 127.0.0.1:6379> GETRANGE mykey 0 3
"This"
redis 127.0.0.1:6379> GETRANGE mykey 0 -1
"This is my test key"
Redis Getset 命令用于设置指定 key 的值,并返回 key 旧的值。
语法
redis Getset 命令基本语法如下:
redis 127.0.0.1:6379> GETSET KEY_NAME VALUE
可用版本
>= 1.0.0
返回值
返回给定 key 的旧值。 当 key 没有旧值时,即 key 不存在时,返回 nil 。
当 key 存在但不是字符串类型时,返回一个错误。
实例
首先,设置 mykey 的值并截取字符串。
redis 127.0.0.1:6379> GETSET mynewkey "This is my test key"
(nil)
redis 127.0.0.1:6379> GETSET mynewkey "This is my new value to test getset"
"This is my test key"
Redis Getbit 命令用于对 key 所储存的字符串值,获取指定偏移量上的位(bit)。
语法
redis Getbit 命令基本语法如下:
redis 127.0.0.1:6379> GETBIT KEY_NAME OFFSET
可用版本
>= 2.2.0
返回值
字符串值指定偏移量上的位(bit)。
当偏移量 OFFSET 比字符串值的长度大,或者 key 不存在时,返回 0 。
实例
# 对不存在的 key 或者不存在的 offset 进行 GETBIT, 返回 0
redis> EXISTS bit
(integer) 0
redis> GETBIT bit 10086
(integer) 0
# 对已存在的 offset 进行 GETBIT
redis> SETBIT bit 10086 1
(integer) 0
redis> GETBIT bit 10086
(integer) 1
Redis Mget 命令返回所有(一个或多个)给定 key 的值。 如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。
语法
redis Mget 命令基本语法如下:
redis 127.0.0.1:6379> MGET KEY1 KEY2 .. KEYN
可用版本
>= 1.0.0
返回值
一个包含所有给定 key 的值的列表。
实例
redis 127.0.0.1:6379> SET key1 "hello"
OK
redis 127.0.0.1:6379> SET key2 "world"
OK
redis 127.0.0.1:6379> MGET key1 key2 someOtherKey
1) "Hello"
2) "World"
3) (nil)
Redis Setbit 命令用于对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。
语法
redis Setbit 命令基本语法如下:
redis 127.0.0.1:6379> Setbit KEY_NAME OFFSET
可用版本
>= 2.2.0
返回值
指定偏移量原来储存的位。
实例
redis> SETBIT bit 10086 1
(integer) 0
redis> GETBIT bit 10086
(integer) 1
redis> GETBIT bit 100 # bit 默认被初始化为 0
(integer) 0
Redis Setex 命令为指定的 key 设置值及其过期时间。
如果 key 已经存在, SETEX 命令将会替换旧的值。
语法
redis Setex 命令基本语法如下:
redis 127.0.0.1:6379> SETEX KEY_NAME TIMEOUT VALUE
可用版本
>= 2.0.0
返回值
设置成功时返回 OK 。
实例
redis 127.0.0.1:6379> SETEX mykey 60 redis
OK
redis 127.0.0.1:6379> TTL mykey
60
redis 127.0.0.1:6379> GET mykey
"redis
Redis Setnx(SET if Not eXists) 命令在指定的 key 不存在时,为 key 设置指定的值。
语法
redis Setnx 命令基本语法如下:
redis 127.0.0.1:6379> SETNX KEY_NAME VALUE
可用版本
>= 1.0.0
返回值
设置成功,返回 1 。 设置失败,返回 0 。
实例
redis> EXISTS job # job 不存在
(integer) 0
redis> SETNX job "programmer" # job 设置成功
(integer) 1
redis> SETNX job "code-farmer" # 尝试覆盖 job ,失败
(integer) 0
redis> GET job # 没有被覆盖
"programmer"
Redis Setrange 命令用指定的字符串覆盖给定 key 所储存的字符串值,
覆盖的位置从偏移量 offset 开始。
语法
redis Setrange 命令基本语法如下:
redis 127.0.0.1:6379> SETRANGE KEY_NAME OFFSET VALUE
可用版本
>= 2.2.0
返回值
被修改后的字符串长度。
实例
redis 127.0.0.1:6379> SET key1 "Hello World"
OK
redis 127.0.0.1:6379> SETRANGE key1 6 "Redis"
(integer) 11
redis 127.0.0.1:6379> GET key1
"Hello Redis"
Redis Strlen 命令用于获取指定 key 所储存的字符串值的长度。
当 key 储存的不是字符串值时,返回一个错误。
语法
redis Strlen 命令基本语法如下:
redis 127.0.0.1:6379> STRLEN KEY_NAME
可用版本
>= 2.2.0
返回值
字符串值的长度。 当 key 不存在时,返回 0。
实例
# 获取字符串的长度
redis> SET mykey "Hello world"
OK
redis> STRLEN mykey
(integer) 11
# 不存在的 key 长度为 0
redis> STRLEN nonexisting
(integer) 0
Redis Mset 命令用于同时设置一个或多个 key-value 对。
语法
redis Mset 命令基本语法如下:
redis 127.0.0.1:6379> MSET key1 value1 key2 value2 .. keyN valueN
可用版本
>= 1.0.1
返回值
总是返回 OK 。
实例
redis 127.0.0.1:6379> MSET key1 "Hello" key2 "World"
OK
redis 127.0.0.1:6379> GET key1
"Hello"
redis 127.0.0.1:6379> GET key2
1) "World"