linux命令+redis api

运行jar:

java -jar xxx.jar

查询当前相关进行

ps -ef |grep redis

查询端口号的pid:

netstat -nlp|grep 8080
结果:tcp6 0 0 :::8080 :::* LISTEN 24145/java

结束进程命令:

kill -9 24145

启动redis服务

redis-server redis.conf

启动redis客户端

redis-cli

结束redis服务

shutdown
exit

启动mysql

mysql -uroot -p

启动nginx

/usr/local/nginx/sbin/nginx

结束nginx

/usr/local/nginx/sbin/nginx -s stop

解压 xxx.zip

unzip xxx.zip

解压xxxx.tar.gz

tar -zxvf git_v2.4.0.tar.gz

查看和jdk相关软件

rpm -qa |grep jdk

强制删除软件

rpm -e --nodeps java-1.8.0-openjdk


在java中操作redis

导入redis的场景启动器
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
在yml中配置redis连接设置
spring:
  application:
    name: springdataredis_demo
  #Redis相关配置
  redis:
    host: 192.168.188.128
    port: 6379
    #password: 123456
    database: 0 #操作的是0号数据库
    jedis:
      #Redis连接池配置
      pool:
        max-active: 8 #最大连接数
        max-wait: 1ms #连接池最大阻塞等待时间
        max-idle: 4 #连接池中的最大空闲连接
        min-idle: 0 #连接池中的最小空闲连接
自定义redisTemplate 处理序列换问题
@Configuration
public class RedisConfig extends CachingConfigurerSupport {

    @Bean
    public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory connectionFactory) {

        RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>();

        //默认的Key序列化器为:JdkSerializationRedisSerializer
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        redisTemplate.setHashKeySerializer(new StringRedisSerializer());

        redisTemplate.setConnectionFactory(connectionFactory);

        return redisTemplate;
    }

}

使用value为字符串的redis数据

@SpringBootTest
public class Redis_StringTest {
    @Autowired
    private RedisTemplate<String,String> redisTemplate;

    @Test
    public void testString(){
        ValueOperations<String, String> ops = redisTemplate.opsForValue();
        ops.set("usa","basketball");
        //获取key对应的值
        String usa = ops.get("usa");
        System.out.println("usa : " + usa);
        //获取key对应的值,截取值字符串的索引,包左包右
        String usa2 = ops.get("usa", 0, 2);
        System.out.println("usa2 : " + usa2);
         //设置键值对有效期为3s
         ops.set("code","12345",3, TimeUnit.SECONDS);
    }
}

使用value为list的redis数据

@SpringBootTest
public class Redis_ListTest {
    @Autowired
    private RedisTemplate<String,String> redisTemplate;

    @Test
    public void testList(){
        ListOperations<String, String> ops = redisTemplate.opsForList();
        //向list中存储数据
       ops.leftPushAll("mylist","刘备","关羽","张飞","赵云");
       //查看list中的值
        List<String> list = ops.range("mylist",0,-1);
        list.forEach(System.out::println);
        String leftPop = ops.leftPop("mylist");
        String rightPop = ops.rightPop("mylist");
        System.out.println("leftPop = " + leftPop);//赵云
        System.out.println("rightPop = " + rightPop);//刘备
        
    }
}

使用value为哈希结构的redis数据

@SpringBootTest
public class Redis_HashTest {
    @Autowired
    private RedisTemplate<String,String> redisTemplate;

    @Test
    public void testHash() {
        HashOperations<String, String, String> ops = redisTemplate.opsForHash();
        ops.put("person","name", "jack");
        ops.put("person","age", "18");
        ops.put("person","hooby", "fly");
        //获取key为person的值的name属性的值
        String name = ops.get("person", "name");
        System.out.println("name = " + name);
        //获取属性集合
        Set<String> fields = ops.keys("person");
        System.out.println(fields);
        //获取属性值集合
        List<String> values = ops.values("person");
        System.out.println(values);

    }
}

使用value为set结构的redis数据

@SpringBootTest
public class Redis_SetTest {
    @Autowired
    private RedisTemplate<String,String> redisTemplate;

    @Test
    public void testSet() {
        SetOperations<String, String> ops = redisTemplate.opsForSet();
        Long add = ops.add("3国", "刘备", "关羽", "张飞", "刘备");
        System.out.println("add = " + add);
        String pop = ops.pop("3国");
        System.out.println("pop = " + pop);
        Boolean guanyu = ops.isMember("3国", "关羽");
        System.out.println("guanyu = " + guanyu);
        Set<String> members = ops.members("3国");
        System.out.println(members);
        

    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容