mv /opt redis.10.tar.gz //把Redis放到opt文件夹下面 tar -zxvf redis.10.tar.gz //解压Redis文件 yum install gcc-c++ //安装环境 gcc -v //查看版本信息 make //把所有需要的文件给你配置上 yum install gcc-c++ tcl make install //安装 redis默认安装路径 usr/local/bin 复制一份redis.conf文件到usr/local/bin目录下bin目录创建一个kconfig文件用来存放 cp /opt/redis.10.tar.gz/redis.conf kconfig redis默认不是后台运行,vim redis.conf进入之后找到daemonize on把on改为yes 启动redis //redis-server kconfig/redis.conf 连接redis redis-cli -p 6379 ping 退出连接 shutdown exit ----------------redis压力测试 -h代表IP地址,本机默认不用写,-p是端口号。-c代表100个并发-n表示10000条请求 redis-benchmark -h localhost -p 6379 -c 100 -n 100000 ------------------------------------redis基础 redis有16个数据库 select 3 //可以切换到第3个数据库 DBSIZE //查看数据多少 keys * //查看所有key flushdb //清空当前库 flushall //清空所有数据库 exists key //判断key是否存在 move key 1 //移动数据到第一个数据库 ------------------redis五大数据类型 -----------string incr key //每次运行都会把这个key的值加1 incrby key 10 //每次运行都会把这个key的值加10----删除自行脑补 decr key //每次运行都会把这个key的值减1 expire name 10 //设置key为name的值过期时间为10秒 append key xxx //在某个key上追加值xxx是要追加的值 strlen key //获取字符串长度 getrange key 0 4 //截取0-4的字符0 -1表示查看所有字符串 setrange key 2 xx //替换表示修改这个key中的第2个参数往后面的两个参数修改为xx setex name1 20 ooo //设置一个key为name1的键20 秒过期,name1的值为ooo setnx key xxx //设置一个key内容为xxx 如果key存在则创建失败,否则成功 msetnx key1 v1 key2 v2 key3 v3 //可以同时设置多个kv如果键存在则不成功,去掉就会覆盖 mget key1 key2 key3 //可以同时获取多个值 高级用法 mset user:1:name lzh user:1:age 21 // user:1:name等于是key lzh 等于是值 -------------list lpush key name //将一个值或多个值插入 lrange key 0 -1 //查看该集合里面的所有数据 lpop key //移除集合左边第一个元素 r pop key //移除集合右边第一个元素 lindex list 2 //获取集合为list的下标为2的元素 lrem list 3 w //移除集合为list里面w的元素移除3个 ltrim list 0 3 //表示截取list集合中的0-3的数据下标0开始 lset list 2 "name8" //往list集合下标为2里面插入一个name8的值,该值会覆盖原来的下标为2的值 linsert list after "name1" "lzh" //表示在name1后面插入一个叫lzh的值 --------------------------set sadd key 值 //set添加元素 smembers key //查看set里面的元素 sismember key 值 //查看该集合是否存在该值 scard key //获取set的个数 SRANDMEMBER key //获取随机元素 smove kye1 key2 值 //把key1的值移动到key2里面 sdiff sety sety2 //查找两个key不同的值 sinter key1 key2 //查找两个key相同的值 suninf key1 key2 //查看两个key中一共有多少元素 -------------------------hash hset key name lzh //键值对方式存储 hget key name //读取 hmset key age 22 sex 1 email qq path wdf //存储多个键值对 空格分开 hmget key name age sex email path //读取多个值,通过键读取 hdel key 键名 //删除一个元素 hgetall key //查看该key中的所有键值对 --------------------------zset zadd key 1 w //1代表优先级升序w是内容 zadd key 2 t 3 s 4 f //设置多个 ZRANGEBYSCORE user -inf +inf //从小到大排序 zcount key 1 3 //查看1-3之间有多少个值 -----------------------geoadd地图 geoadd china:city 132.66 34.96 cz 144.96 35.53 gy 122.43 31.22 zs //添加城市经纬度 geopos china:city bj //获取城市经纬度 geodist china:city bj cz km //获取北京到郴州的距离km代表公里 -----------查找附近的人 GEORADIUS china:city 110 30 3000 km //110-30代表经纬度3000代表搜索的半径 -----------------------------hyperloglog---------用于访问量 pfadd key 值 值 值 //增加值 pfcount key //查看有多少个值 pfmerge key3 key1 key2 //把key12合并为key3----重复的只记录一个 -----------------------Bitmaps---统计用户信息,活跃不活跃登录打卡都可以使用 setbit key 0 1 setbit key 1 1 setbit key 2 0 setbit key 3 1 setbit key 4 0 setbit key 5 1 setbit key 6 1 //可以记录一个礼拜有多少人没有打卡0表示未打卡 getbit key //查看是否有打卡 ~~~~~~~~~~~~~~~~~~~~~~事务 基本流程 muiti //开启事务 命令 //命令 exec //执行 discard //放弃事务 ~~~~~~~~~~~~~~~~~~~~~乐观锁 watch key //给key加上乐观锁 unwatch //放弃该监视乐观锁 ~~~~~~~~~~~~~~~~~~jedis <!--java整合redis--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> //开启事务 Transaction multi=jedis.multi(); multi.set("key1",user); //设置值 multi.exec(); //执行 ~~~~~~~~~~~~~~~~sprongboot整合redis 1.配置文件写入 spring.redis.host=127.0.0.1 spring.redis.port=6379 //redis配置类 @Autowired private RedisTemplate redisTemplate; @Test void contextLoads() { //操作字符串的方法 redisTemplate.opsForValue().set("",""); } ~~~~~~~~~~~~~~~~··········订阅发布 SUBSCRIBE xxx //xxx是你要订阅的频道 PUBLISH xxx"hello,word" //xxx是你要发送到哪个频道,helloword是你发送的内容 ~~~~~~~~~~~~~~~~~~~~主从复制集群 slaveof no one //使自己变主机 info replication //查看当前库的信息 1.复制多个redis.conf配置文件 cp redis.conf redis79.conf cp redis.conf redis81.conf cp redis.conf redis81.conf 2.vim redis79.conf 打开vim 3.修改端口 port 6379改为你自己定义的 pidfile /var/run/redis_6379.pid 6379改为你自己定义的端口号 logfile修改日志命名.log避免多个redis使用同一个命名日志 修改dump.rdb文件为dump自定义端口 .rdb 4.从机配置 在6380端口:写SLAVEOF 127.0.0.1 6379 //表示在本机下的6379是主机 ~~~~~~~~~~~~~~~~~~~~~~~~哨兵 vim sentinel.conf //创建一个哨兵配置文件 sentinel monitor myredis 127.0.0.1 6379 1 //myredis自定义的名字 表示监控本机的6379端口6379目前是主机,1代表目前主机挂了后重新选举新的主机 redis-sentinel kconfig/sentinel.conf //启动哨兵
原文:https://www.cnblogs.com/lizehong/p/14377756.html