数据类型
String
1
2
3
4redis 127.0.0.1:6379> SET name "runoob"
OK
redis 127.0.0.1:6379> GET name
"runoob"Hash
1
2
3
4
5
6redis> HMSET myhash field1 "Hello" field2 "World"
"OK"
redis> HGET myhash field1
"Hello"
redis> HGET myhash field2
"World"List
1
2
3
4
5
6
7
8
9
10
11redis 127.0.0.1:6379> lpush runoob redis
(integer) 1
redis 127.0.0.1:6379> lpush runoob mongodb
(integer) 2
redis 127.0.0.1:6379> lpush runoob rabitmq
(integer) 3
redis 127.0.0.1:6379> lrange runoob 0 10
1) "rabitmq"
2) "mongodb"
3) "redis"
redis 127.0.0.1:6379>Set
1
2
3
4
5
6
7
8
9
10
11
12
13redis 127.0.0.1:6379> sadd runoob redis
(integer) 1
redis 127.0.0.1:6379> sadd runoob mongodb
(integer) 1
redis 127.0.0.1:6379> sadd runoob rabitmq
(integer) 1
redis 127.0.0.1:6379> sadd runoob rabitmq
(integer) 0
redis 127.0.0.1:6379> smembers runoob
1) "redis"
2) "rabitmq"
3) "mongodb"zset(sorted set:有序集合)
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。
命令
1
zadd key score member
实例
1
2
3
4
5
6
7
8
9
10
11
12redis 127.0.0.1:6379> zadd runoob 0 redis
(integer) 1
redis 127.0.0.1:6379> zadd runoob 0 mongodb
(integer) 1
redis 127.0.0.1:6379> zadd runoob 0 rabitmq
(integer) 1
redis 127.0.0.1:6379> zadd runoob 0 rabitmq
(integer) 0
redis 127.0.0.1:6379> > ZRANGEBYSCORE runoob 0 1000
1) "mongodb"
2) "rabitmq"
3) "redis"
操作
show all keys
KEYS *
Delete All Keys In Redis
1
2
3
4
5
6Delete all keys from all Redis databases:
`$ redis-cli FLUSHALL`
Delete all keys of the currently selected Redis database:
`$ redis-cli FLUSHDB`
Delete all keys of the specified Redis database:
`$ redis-cli -n <database_number> FLUSHDB`删除指定前缀的数据
1
2删除指定CCR866前缀的redis数据
path/to/redis-cli -p 16379 -a Redis6379 -n 1 keys 'CCR866*' | xargs ./redis-cli -p 16379 -a Redis6379 -n 1 del在启动命令中添加 –raw,可以查看value的中文信息
问题解决
RedisConnectionFailureException
1
2
3redis.conf中默认的是bind 127.0.0.1,需要将这段注释
设置protected-mode no,因为如果是yes的话,只能进行本地访问。如果设置了密码和bind这个可以开启,如果没有设置,这个属性可以设置为no即可。
daemonize yes表示后台运行需要安装gcc
make时,提示fatal error: jemalloc/jemalloc.h: No such file or directory
1
2
3
4
5
6解决:
cd src/deps
make hiredis jemalloc linenoise lua geohash-int
cd ..
make
sudo make install自定义配置redis server
涉及到的目录或文件有
1
2
31.配置文件 /etc/redis/xxxx.conf
2.日志、数据文件 /data/redis/xxxx
3.启动脚本 /etc/init.d/redis_xxxx客户端启动时 redis-cli -p xxxx